C语言排序 C语言冒泡排序算法(Bubble Sort)
操作方法
(01)冒泡排序原理:设要排序的数据记录到一个数组中,把关键字较小的看成“较轻”的气泡,所以就应该上浮。从底部(数组下标较大的一端)开始,反复的从下向上扫描数组。进行每一遍扫描时,依次比较“相邻”的两个数据,如果“较轻”的气泡在下面,就要进行交换,把它们颠倒过来。(图片取自互联网)
(02)具体实现过程:第一步 输入数据你可以直接将你所需要的数据存入数组,如int a[5] = {84,83,88,87,61};也可以通过循环输入for(i = 0 ; i< n ;i++){scanf("%d",&a[i]);}来实现数据输入数组;
(03)具体实现过程:第二步 写循环冒泡排序是从最低部扫描(数组下标大的一端);所以内部循环应该从数组下标较大的一方开始 for(j = n - 1 ; j > i ; j--)内部循环确定以后,写外部循环;for(i = 0; i < n ; i++)for(j = n - 1 ; j > i ; j--) // j>i的是扫描第一遍以后,下标最小的一位数,已经变成最大的一位数
(04)具体实现过程:第二步 写交换if(a[j - 1] < a[j]){temp = a[j - 1];a[j - 1]=a[j];a[j]=temp;}
(05)C语言实现:#include <stdio.h>int main(){int a[5] = {84,83,88,87,61};int i,j;int temp;printf("按从大到小排序!n");int n = 5 ;//数组最大的下标for(i = 0; i < n ; i++)for(j = n - 1 ; j > i ; j--){if(a[j - 1] < a[j]){temp = a[j - 1];a[j - 1]=a[j];a[j]=temp;}}for(i = 0 ; i < n ; i++){printf("%d ",a[i]);}return 0;}
(06)运行程序,成功截图如下;
(07)气泡排序的时间复杂度为0(n^2);
特别提示
个人,如有不对,请多多指教。如有侵犯,请于我联系,立马解决。仅供参考使用,谢谢!
-
怎么做音乐相册?
把照片做成音乐相册,不仅可以动感地展示照片,还可以配上好听的音乐来营造氛围。做一份婚礼、毕业、家人、儿童等等主题的音乐相册,可以为自己和他人留下一份珍贵美好的记忆~从朋友那里学到了做音乐相册的方法,今天就换我来教大家怎么轻松做一份好看、好听的音乐相册...
-
单片机案例点亮一颗发光二极管
大家好,今天和大家分享的是单片机案例——点亮一颗led灯。这个可以说是每个人在初步接触单片机是都会学到的一个程序,我们来看看怎么做吧操作方法(01)这里我就直接进入程序了,前面的建立工程呀,设置参数那些我就不说了,在我其他的经验中也有讲到了,不懂的可以看看我以...
-
Windows 10关闭自动更新(Windows Update)的方法
现在的windows系统更新得越来越频繁,windows10也不例外,但是很多时候,很多人都不想进行更新,但是又没有直接关闭更新得选项,所以我今天就来给大家介绍一下如何关闭系统更新得方法,下面就一起来看看吧。可以从服务管理中进行关闭(01)命令方法打开:我们可以按下快捷键:win+...
-
win10开始菜单任务栏点击无反应的解决办法
点击win10系统的开始菜单没反应,点击任务栏中的一些功能图标也没反应,可能是explorer进程出错导致的。遇到这样的问题我们想到的方法就是重启电脑,其实除了重启电脑,还有更快的解决方法,就是重启Windows资源管理器。接下来我们一起来看看电脑资源管理器怎么重启吧。...