站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题如何把一个有序的数组,转化成无序的数组.

如何把一个有序的数组,转化成无序的数组.

摘要: 如何把一个有序的数组,转化成无序的数组.


如何把一个有序的数组,转化成无序的数组.比如有一个数组,
private static int mNumber[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 };
怎么样把它转化成无序的。急呀,谢谢。
import java.util.Random;

public class ArrayA {
private static int mNumber[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 };

private static int newMemoryNumber[] = new int[18];

private static Random random = new Random();

public static void main(String[] args) {
for (int i = 0; i < mNumber.length; i++) {
// for (int j = 0; j < newMemoryNumber.length; j++) {

int m = mNumber[random.nextInt(mNumber.length)];
System.out.println("m:" + m + ":" + i + " Mal");

for (int j = 0; j < i; j++) {
if (newMemoryNumber[j] != m) {
newMemoryNumber[i] = m;
}
}

// System.out.println(newMemoryNumber[i]);
// }
// newMemoryNumber[i] = mNumber[random.nextInt(mNumber.length)];
System.out.println(newMemoryNumber[i]);
}
}

}


我无语,还有这样要求的


ArayList 和 Random 配合使用:


import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class RandomizeArray {

/**
* @param args
*/
public static void main(String[] args) {
int[] sorted = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

// 将数组内容放入 ArrayList
ArrayList sortedList = new ArrayList();
for (int i = 0; i < sorted.length; i++) {
sortedList.add(new Integer(sorted[i]));
}

// 使用随机数
Random rnd = new Random(System.currentTimeMillis());
ArrayList randomizedList = new ArrayList();
for (int i = 0; i < sorted.length; i++) {

// 随机从 sortedList 中抽取一个元素放入 randomizedList
int index = rnd.nextInt(sorted.length - i);
randomizedList.add(sortedList.get(index));

// 从 randomizedList 中去掉被抽取的元素,以免下次再被抽到
sortedList.remove(index);
}

System.out.println(randomizedList);
}

}


YidingHe(机枪兵) ( ) 信誉:100 Blog 的思路有点意思。


注释有一点点写错了:
// 从 randomizedList 中去掉被抽取的元素,以免下次再被抽到
应该是
// 从 sortedList 中去掉被抽取的元素,以免下次再被抽到


↑返回目录
前一篇: 请问一个关于list的问题
后一篇: ecplise的快捷键配置怎么才能导出导入?