一组数字随机排序
                            
                            
                            [b]關鍵字:[/b]
隨機排序、JAVA、算法、一組數字
今天在網上看到了數組隨機排序了算法。感覺非常巧妙,只有短短的幾句代碼,算法的力量真是太強大了。
下面把這個代碼轉貼一下,感興趣的人可以琢磨琢磨,很有意思。
import java.util.*;
/**
* 生成不重復隨機數的一種算法。
*
* @author 趙學慶,Java世紀網(java2000.net)
*
*/
public class T {
public static void main(String[] args) {
// 要排序的一組數字
int[] seed = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int len=seed.length;
int[] result= new int[len];
Random random = new Random();
for (int i = 0; i < len; i++) {
// 得到一個位置
int r = ran.nextInt(len - i);
// 得到那個位置的數值
result[i] = seed[r];
// 將最后一個未用的數字放到這里
seed[r] = seed[len - 1 - i];
}
System.out.println("result:" + Arrays.toString(result));
}
}
一個運行結果
result:[6, 4, 5, 9, 7, 2, 8, 3, 1]
                        
                        
                        隨機排序、JAVA、算法、一組數字
今天在網上看到了數組隨機排序了算法。感覺非常巧妙,只有短短的幾句代碼,算法的力量真是太強大了。
下面把這個代碼轉貼一下,感興趣的人可以琢磨琢磨,很有意思。
import java.util.*;
/**
* 生成不重復隨機數的一種算法。
*
* @author 趙學慶,Java世紀網(java2000.net)
*
*/
public class T {
public static void main(String[] args) {
// 要排序的一組數字
int[] seed = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int len=seed.length;
int[] result= new int[len];
Random random = new Random();
for (int i = 0; i < len; i++) {
// 得到一個位置
int r = ran.nextInt(len - i);
// 得到那個位置的數值
result[i] = seed[r];
// 將最后一個未用的數字放到這里
seed[r] = seed[len - 1 - i];
}
System.out.println("result:" + Arrays.toString(result));
}
}
一個運行結果
result:[6, 4, 5, 9, 7, 2, 8, 3, 1]
總結
 
                            
                        - 上一篇: 一篇文章看懂如何转行产品经理
- 下一篇: 使用linux c开源库libwebso
