冒泡排序法
来源:互联网 发布: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)。