冒泡排序

代码编写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private  void swap(int i,int j){
int mid = data[i];
data[i] = data[j];
data[j] = mid;
}
public void sort(int l,int r){
for (int i = 1; i <r-l+1 ; i++) { //控制需要冒泡趟数
for (int j = l; j <= r-i; j++) { //冒泡范围
if(data[j]>data[j+1]){ //每次把最大的冒泡到最后面
swap(j,j+1);
}
}
System.out.println(Arrays.toString(data));
}
}

其实可以这么理解。

1
2
3
4
5
6
7
8
9
10
public  void sort(int l,int r){
for (int i = r-l; i >0 ; i--) { //还需要冒泡的趟数
for (int j = l; j < l+i; j++) { //冒泡范围
if(data[j]>data[j+1]){ //每次把最大的冒泡到最后面
swap(j,j+1);
}
}
System.out.println(Arrays.toString(data));
}
}
------ 本文结束感谢您的阅读 ------
请我一杯咖啡吧!
itingyu 微信打赏 微信打赏