当前位置: 首页 > 科技观察

Java排序冒泡排序

时间:2023-03-15 14:54:23 科技观察

jwt简介冒泡排序:(BubbleSort)是一种简单的交换排序。之所以叫冒泡排序,是因为我们可以把每一个元素都看成是一个小泡泡,根据泡泡的大小,一步步向队伍的一端移动,最终形成一定的排序。冒泡排序的原理:我们以一个团队为例。教官第一次给选手排队是乱序的。这时候就需要排好队,按照从低到高的顺序排列。首先,挑出第一和第二比较。如果第一位队员比第二位高,两人交换位置,高的放在第二位,矮的放在第一位,比较第二位和第三位的选手,谁的最高一个放在下一个位置,以此类推,直到第一轮的所有玩家都被比较过一次(记住每次比较都是两个相邻的),这样最高的就可以排在最后一个位置。总结就是:每一轮需要从第一位开始比较两个相邻的数,把较大的数放在后面,比较完后退一位继续比较下两个相邻数的大小关系,重复这个步骤直到最后一个数那还没有回来。冒泡排序流程图:我们分解一下,看看每一步是如何执行的。首先,我们按升序对无序数组[3,14,32,16,53,8]进行排序。第一轮:初值[3,14],32,16,53,8]如图,经过第一轮,我们得到的结果是[3,14,16,32,8,53],此时最大数53已经排在指定位置,所以每一轮冒泡排序只能确定一个数的位置。也就是说,第一遍只能确认返回最后一个数,第二遍只能返回倒数第二个数,以此类推。第二轮:初值[3,14,16,32,8,53]第二轮排序结果[3,14,16,8,32,53]第三轮:初值[3,14,16,8,32,53]第三轮排序结果[3,14,8,16,32,53]第四轮:初始值[3,14,8,16,32,53]第四轮排序结果[3,8,14,16,32,53]第五轮:初始值[3,8,14,16,32,53]第五轮排序结果[3,8,14,16,32,53]这里,我们终于排序了。Java代码实现:publicstaticvoidbubbleSort(int[]array){for(inti=0;iarray[j+1]){//转置inttemp=array[j];数组[j]=数组[j+1];数组[j+1]=温度;}//比较一次,加1num=num+1;}//结果输出System.out.print("th"+(i+1)+"round:[");for(inta=0;a