冒泡排序算法
冒泡排序算法:
- 比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换。
- 这样对数组的第 0 个数据到 N-1 个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1 个位置。
- N=N-1,如果 N 不为 0 就重复前面二步,否则排序完成。
实例:
List<Integer> list2 = new ArrayList<Integer>();
list2.add(8);
list2.add(7);
list2.add(10);
list2.add(15);
list2.add(5);
list2.add(16);
list2.add(233);
list2.add(11);
list2.add(21);
list2.add(1);
list2.add(67);
list2.add(3);
list2.add(31);
list2.add(999);
list2.add(109);
// 冒泡排序
bubbleSort(list2);
// 冒泡排序
public static void bubbleSort(List array) {
System.out.println("排序前:" + array.toString());
int temp;
for (int i = 0; i < array.size(); i++) {
for (int j = 0; j < array.size() - 1; j++) {
if ((Integer) array.get(j) > (Integer) array.get(j + 1)) {
temp = (Integer) array.get(j);
System.out.println("排序处理前:" + array.toString());
array.set(j, array.get(j + 1));
array.set(j + 1, temp);
System.out.println("排序处理后:" + array.toString());
}
}
}
System.out.println("排序后:" + array.toString());
}