1.冒泡排序思想
冒泡排序就是比较两个相邻之间的数字,以升序排列为例。以数组int[] a = {11,3,12,45,23} 为列。如果a[0]>a[1],交换二者的值,接着再用a[1]与a[2]比,如果需要交换就交换,不需要交换,再进行下一轮比较(a[2]与a[3]),直到最后a[a.length-2]与a[a.length-1]比较结束,此时第一轮比较已经结束,最大的值已经删选出来,并且已经放到了最后,接着进行第二轮比较,第二轮比较的时候,数组从a[0]到a[a.length-2],到最后只剩下两个数字的时候,比较结束
2.代码实现与分析
//冒泡排序 两两之间比较(先把大的找出来)
private int[] bubbleSort(int[] a){
for (int i=a.length-1;i>0;--i){
//每一轮结束后,第二轮筛选的数就减少一个
for (int j=0;j<i;j++){
if(a[j]>a[j+1]){
//交换 把大的放后面 冒泡过程
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
return a;
}
代码已经很清楚了,至此冒泡排序分析完毕
网友评论