黑马程序员技术交流社区
标题:
----------对集合排序,排序算法必须自己写----------
[打印本页]
作者:
syusouki
时间:
2015-10-12 22:11
标题:
----------对集合排序,排序算法必须自己写----------
public class Demo {
/*
* 编写程序,生成5个1至10之间的随机整数,存入一个List集合,编写方法对List集合进行排序(自定义排序算法,禁用Collections.
* sort方法和TreeSet),然后遍历集合输出
*/
public static void main(String[] args) {
// 定义一个集合
ArrayList<Integer> arrList = new ArrayList<Integer>();
// 向集合中添加数据
for (int i = 0; i < 5; i++) {
arrList.add(new Random().nextInt(10) + 1);
}
System.out.println("元集合:" + arrList);
bubleSort(arrList);
// listSort(arrList);
System.out.println("排序后:" + arrList);
}
// 冒泡排序
private static void bubleSort(ArrayList<Integer> arrList) {
for (int i = 0; i < arrList.size(); i++) {
for (int j = 0; j < arrList.size() - i - 1; j++) {
if (arrList.get(j) > arrList.get(j + 1)) {
int temp = arrList.get(j);
arrList.set(j, arrList.get(j + 1));
arrList.set(j + 1, temp);
}
}
}
}
// 选择排序
private static void selectSort(ArrayList<Integer> arrList) {
for (int i = 0; i < arrList.size(); i++) {
for (int j = i + 1; j < arrList.size(); j++) {
if (arrList.get(i) > arrList.get(j)) {
int temp = arrList.get(i);
arrList.set(i, arrList.get(j));
arrList.set(j, temp);
}
}
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2