冒泡排序法

来源:互联网 发布:nginx 支持websocket 编辑:程序博客网 时间:2024/06/04 01:21
//冒泡排序法:冒泡排序(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)。