//冒泡排序法:冒泡排序(BubbleSort)的基本概念是:
//依次比较相邻的两个数,将小数放在前面,大数放在后面。
//重复此过程,直至排好序
public class BubbleSort{
public static void main(String args[]){
//简单示例
int[] s = {23,5,12,59,78,21,100,79,66};
boolean flags=false; //对排序进行标记,初始时是false
//在下面给出的算法中,引入一个布尔量flags,
//在每趟排序开始前,先将其置为FALSE。若排序过程中发生了交换,
//则将其置为TRUE。各趟排序结束时检查flags,
//若未曾发生过交换则终止算法,不再进行下一趟排序。
for(int j=1;j<=s.length;j++){ //最多经过N-1趟排序,如果最小数,在最后一个的话
for(int i=0;i<s.length-1;i++){ //每一趟排序,相邻的两个数进行比较
if(s[i]>s[i+1]){
int temp;
temp = s[i];
s[i] = s[i+1];
s[i+1] = temp;
flags=true; //如果没有发生交换,说明已经是排完顺序
}
}
}
if(! flags){
return;
}
for(int i=0;i<s.length;i++){
System.out.println(s[i]);
}
}
}
//直接插入排序属于稳定的排序,时间复杂性为o(n^2),空间复杂度为O(1)。
冒泡排序法
最新推荐文章于 2025-08-10 21:28:09 发布