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)最...
-
电脑显示屏幕不亮 笔记本不能开机启动
电脑非正常关机或者用久了,再次打开,突然打不开了,屏幕显示不亮,连系统都进不了怎么回事?何种情况下,需要维修?操作方法(01)第一查看信号指示灯。先是判断实际能否开机,若开机了指示灯会有闪烁。黑屏有时并非全黑屏,仔细看是灰屏,此时信号灯开机时有闪烁。说明硬件没有问题...
-
Win10系统怎么登陆Microsoft账户
如果有小伙伴想知道Win10系统怎么登陆Microsoft账户,可以来看看下面的步骤哦!一、先注册账户。(01)在网上搜索“Microsoft账户注册”,找搜索结果中找到注册官网进行注册。(02)进入注册界面以后,输入正确的相关信息,然后输入密码和其他的信息。(03)输入完成之后,我们就可以...
-
电脑键盘按键的功能有哪些?
电脑现在基本上是我们生活和学习中必不可少的工具,但是电脑上那么多按键,大家是否清楚它们的功能呢?那现在小编就和大家分享一下电脑键盘按键的功能。操作方法(01)首先,小编给大家介绍一下常见的键盘有101、104键等若干种。为了方便记忆,通常大家把他划分成主键区、功...