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
。請注意,一些語言可能需要引入特定的庫或模塊才能使用隨機排序功能。