冒泡排序

冒泡排序是从头开始,第1个和第2个比较,前大于后则互换位置;然后第2个和第3个比较,前大于后则互换位置……如此找到最大值放到最后位置。
再找到倒数第二大的值放到倒数第二的位置,依此类推……

假设有一个数组arr{867,143,99,452,301,992,53},冒泡排序如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class BubbleSort {

public static void main(String[] args) {
int[] arr = {867,143,99,452,301,992,53};

System.out.println("数组的初始排序:");
for(int index:arr) {
System.out.print(index+" ");
}
System.out.println();

int temp; //临时寄存数字
for (int i=0;i<arr.length-1;i++) { //因为最后一位无需比较,进行length-1次对比置换
for (int j=0;j<arr.length-1-i;j++) { //length-1-i,i代表已经比较完成的数量
if(arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}

System.out.println("数组的现今排序:");
for(int index:arr) {
System.out.print(index+" ");
}
System.out.println();
}
}

结果如下:

1
2
3
4
数组的初始排序:
867 143 99 452 301 992 53
数组的现今排序:
53 99 143 301 452 867 992
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2021 Silver Shaded
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信