random_shuffle
是一个用于随机排序数组或列表元素的函数。不同编程语言中的实现可能会有所不同,但基本原理相似。以下是在几种常见编程语言中实现 random_shuffle
的方法:
random
模块中的 shuffle
函数来实现随机排序。import random
arr = [1, 2, 3, 4, 5]
random.shuffle(arr)
print(arr)
Array.prototype.sort()
函数结合随机数生成器来实现随机排序。const arr = [1, 2, 3, 4, 5];
function randomShuffle(array) {
return array.sort(() => Math.random() - 0.5);
}
console.log(randomShuffle(arr));
Collections.shuffle()
函数来实现随机排序。import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> arr = new ArrayList<>();
arr.add(1);
arr.add(2);
arr.add(3);
arr.add(4);
arr.add(5);
Collections.shuffle(arr);
System.out.println(arr);
}
}
库中的
std::random_shuffle函数(C++17 已弃用,建议使用
std::shuffle`)。#include<iostream>
#include<vector>
#include<algorithm>
#include<random>
int main() {
std::vector<int> arr = {1, 2, 3, 4, 5};
std::random_device rd;
std::mt19937 g(rd());
std::shuffle(arr.begin(), arr.end(), g);
for (int i : arr) {
std::cout << i << " ";
}
std::cout<< std::endl;
return 0;
}
这些示例展示了如何在不同编程语言中实现 random_shuffle
。请注意,一些语言可能需要引入特定的库或模块才能使用随机排序功能。