这篇和书上代码几乎没有差别,只是增加了变量的定义类型以及swap函数的具体实现
public void BubbleSort(int[] nums,int n) {
for(int i=0;i<n-1;i++){ //最多只需经历n-1次冒泡,最大元素自然而然地被放置在最后一个位置
boolean flag=false; //标志位,标志本次遍历是否出现乱序情况
for(int j=n-1;j>i;j--){
if(nums[j]<nums[j-1]){
swap(nums,j-1,j);
flag=true;
}
}
if(flag==false) //对未排好序的队列遍历结束后,发现未出现乱序情况,则排序结束,不需要n-1次冒泡
return ;
}
}
private void swap(int[] c,int i,int j){ //常用的一段代码
int temp=c[i];
c[i]=c[j];
c[j]=temp;
}