冒泡排序
概括:
成员之间两两比较,大的在后,小的在前,直到最大值放在最后面,最大值不参与下次比对,重复以上步骤。直到从小到大有序。
场景分析:
2,4,5,3,1
↑ ↑
成员之间两两比较
小数在前,大数在后
↓ ↓
2,4,3,5,1
2,4,3,1,5
↑
直到最大值放在最后面,
最大值不参与下次比对
2,4,3,1
2,3,4,1
2,3,1,4
2,3,1
2,1,3
2,1
1,2
1,2,3,4,5
重复以上步骤。直到从小到大有序。
JAVA实现
package Sorts;
public class BubbleSort {
public static void main(String[] args) {
int[] array = {5,4,3,2,1} ;
bubbleSort(array);
}
public static void bubbleSort(int[] array) {
int temp = 0 ;
//重复以上步骤。直到从小到大有序。
for (int i = array.length - 1; i > 0 ; i--) {
//直到最大值放在最后面,最大值不参与下次比对
for (int j = 0; j < i; j++) {
//成员之间两两比较,
// ↓↓↓
if(array[j]>array[j+1]) {
//大的在后,小的在前,
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]+", ");
}
}
}
网友评论