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);
特别提示
个人,如有不对,请多多指教。如有侵犯,请于我联系,立马解决。仅供参考使用,谢谢!
-
微信网页版登陆不了怎么办?
大家有没有遇到微信电脑版登录不了的情况,今天来帮大家解决这个小问题,还不知道怎么处理的小伙伴们来学习一下吧。操作方法(01)在手机上打开微信,如图所示。(02)点击右下角的“我”。(03)再点击“账号与安全”,红圈中的选项。(04)然后点击“更多安全设置”。(05)把“账号安全...
-
将pdf转换成word后文档全是图片怎么办
MicrosoftWord是微软公司的一个文字处理器应用程序。它最初是由RichardBrodie为了运行DOS的IBM计算机而在1983年编写的,很多人不知道将pdf转换成word后文档全是图片怎么办,下面让我们一起来学习一下吧操作方法(01)首先打开捷速OCR文字识别软件(02)将PDF放入捷速OCR文...
-
word2016脚注和尾注怎么设置 脚注尾注如何转换
在我们日常工作中,编辑Word文档时,需要对一些名词、句子进行解释说明,那么我们需要用到脚注,或是尾注。那怎么进行设置呢,下面就来进行简单的说明。操作方法(01)双击打开word文档,选中需要加脚注的文字,然后点击菜单栏【引用】。(02)然后点击【插入脚注】。(03)此时会在此页...
-
百度地图查看坐标
操作方法(01)首先,电脑打开搜狗浏览器,进入百度官网。(02)在上边我们点击百度地图的按钮。(03)进入地图上,可以看到当前自己所在城市。(04)点击地图下方的“地图开发平台”按钮。(05)在地图开放平台页面,点击:开发文档——坐标拾取器。(06)然后在地图中,随意点击一个位置,就可以查...