首页 > 编程知识 正文

冒泡排序图解(冒泡排序算法详解)

时间:2023-05-03 06:50:45 阅读:68450 作者:631

泡沫排序算法和选择排序算法

气泡排序算法气泡排序算法简单地说就是将一系列数字和两个相邻的数字各进行比较,如果两个数字的顺序不满足自己想要排序的要求,就让这两个数字交换位置。 具体说明如下。

以下没有顺序的数(升序) 12 )9) 15 ) 0的第1次比较) 4次比较,最大的数值成为最后一位)9) 12 )5) 15的第2次比较) 3次比较,倒数第2也很难)9)0) 12 ) 15的3 一共需要4次循环比较,可以通过嵌套循环来实现。 外侧循环控制倒圆角数,内侧循环控制比较次数。 代码如下。

定义//数组: 1291550 int [ ] arr={ 12,9,15,5,0 }; int temp; //用于更换位置的for(intI=0; iarr.length-1; I () /外层循环控制循环圈数、循环圈数合计比数的个数少1 for (intj=0; jarr.length-1-i; j () /内层控制每个回合的比较次数,)上的数据中,每个回合的比较次数按顺序为4、3、2、1; 每回合减少1,从输的个数中减去I的值正好是循环次数的值(if(arr[j]arr[j1] ) /开始比较,不满足要求的替换顺序temp=arr[j 1]; arr[j 1]=arr[j]; arr[j]=temp; }//打印验证for(intI=0; iarr.length; I ) system.out.println(arr[I]'t ' ); //打印结果0591215选择排序算法选择排序算法。 即,选择最初的数并与其他数依次进行比较,不满足排列顺序的两个数交换位置,最终找到最大(或最小)的数。 具体说明如下。

一系列数(升序) 1259100的第一次与其他数依次比较,取小的与剩下的数依次比较,依次类推找到最小的数)第一次比较(0129105 )第二次比较(0591210 )第四次比较)第一次0591012是巴巴

//定义数组: int [ ] num={ 12,5,9,10,0 }; Int编号器; //用于交换顺序的for(intI=0; inum.length-1; I () /控制循环圈数,圈数比长度少1 for (intj=i1; jnum.length; j ) ) num[i]为第一个数,比较的数为i 1,num[j]为比较的数,j=i 1; 要按//循环顺序减少比较次数,请使用不符合要求的num.lengthif(num[I]num[j] )//交换顺序number=num[j]; num[j]=num[i]; num[i]=number; }//遍历验证for(intI=0; inum.length; I ) system.out.println(num[I]'t ' ); )如果气泡排序和选择排序是相同的升序(如果从前面选择了所有选定数据),则气泡排序是最后一次(从后排序),选择排序是第一次(从前到后排序)。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。