首页 > 编程知识 正文

起泡法排序c语言程序,c语言用冒泡排序排成绩

时间:2023-05-04 13:49:06 阅读:140659 作者:2827

算法注释再次回顾冒泡排序冒泡方法,这是我们学习编程时接触到的第一种排序算法,简单形象,整个匹配过程与泉水冒泡非常相似。 在冒泡排序中,首先将第一个要素与相邻的要素进行比较,如果其较大,则相互交换。 这样,第一遍就确定了最大值。 在第n次通过中也是如此。 从一开始都是一直比较到倒数第n个,排列着最大的n个。

解题:用一个数组来表示元素集合

将第一个元素相对于相邻元素遍历到数组的末尾,确定最大值,将第一个元素相对于相邻元素遍历到数组的倒数第二个元素,以确定数组完全排序所需的时间是否复杂。

o(n )2)个案研究

public class bubble sort { publicstaticvoidmain (string [ ] args ) int [ ] a={ 9,1,2,3,4,7,8,5,6 }; //sort(a ); sortoptimize(a ); for(intI=0; i a.length; I ) system.out.printf('-',a[i]; } privatestaticvoidsort (intarr [ ] ) { int temp=0; //临时变量,更换时int length=arr.length - 1; //总排序: arr.length - 1 int k=0; for(intn=0; n length; n ()//第二次遍历到倒数第n个for (inti=0; i length - n; I () if ) arr[I]arr[I1] ) { temp=arr[i]; arr[i]=arr[i 1]; arr[i 1]=temp; (k; } } System.out.println ()鼓泡法循环次数(k ); } /** *冒泡法的优化可以大大减少已经排序的数据的周期。 此时,* @ param arr */privatestaticvoidsortoptimize (intarr () { int temp=0; //临时变量,更换时int length=arr.length - 1; //总排序: arr.length-1 boolean change=false; int k=0; for(intn=0; n length; n () { change=false; for(intI=0; i length - n; I () if ) arr[I]arr[I1] ) { temp=arr[i]; arr[i]=arr[i 1]; arr[i 1]=temp; 更改=真; (k; (if (! 如果在change ()//1轮结束后还未进行排序,则可以提前结束break; } } System.out.println ()鼓泡法优化循环次数(k ); }

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