冒泡排序算法

(对 n 个数降序)冒泡排序的思路是:

1、最多进行 (n-1) 次排序

2、每次排序将从第一个开始遍历和后一个数比较(确定是否执行交换位置)
值得注意的是本次排序后会产生一个最小数,下次排序可以不用和该数进行比较的判断

关于复杂度的概念还未与其他排序算法比较

代码如下:

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
31
32
public class MyBubbleSort {
public static void main(String[] args)
{
int[] arr = {2,6,3,9,4,5,1,2,5,8};
int len = arr.length;
for (int i=0;i<len-1;i++)
{
for (int j=0;j<len-1-i;j++)//减i的原因是经过i+1次排序后倒数第i+1个数都是确认最小的
{
if(arr[j]<arr[j+1])
{
int temp = 0;
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
System.out.print("第"+(i+1)+"次排序结果:");
for(int a = 0; a <len;a++)
{
System.out.print(arr[a] + "\t");
}
System.out.println("");
}
System.out.print("最终排序结果为:");
for(int a = 0; a <len;a++)
{
System.out.print(arr[a] + "\t");
}
System.out.println("");
}
}

文章目录
|