算法

冒泡排序

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
/**
* Created by Neko~ on 2017/4/10.
*/
public class alg1 {
private static int[] data={9,16,27,23,30,49,21,35};
public static void bubbleSort(){
System.out.println("开始排序");
int arraylength = data.length;
for(int i = 0; i<arraylength-1; i++){ //-1的原因是最大的数不用排了
boolean flag = false; //用于记录数组是否进行了排序,如果为false说明数组是按数字大小顺序排列的
for (int j = 0; j < arraylength-1 -i ;j++){//-1-i是因为这些数已经排好放在最后了,不用再排序
if (data[j] - data[j+1] > 0){
//如果前面的数比后面的数大,交换
int tmp = data[j + 1];
data[j + 1] = data [j];
data[j] = tmp;
flag = true;
}
}
System.out.println(java.util.Arrays.toString(data));
if(!flag){
System.out.println("没有进行排序");
}
}
}

public static void main(String[] args) {
bubbleSort();
}
}
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×