常用的C语言排序算法(两种)
1.
要求输入10个整数,从大到小排序输出
输入:2 0 3 -4 8 9 5 1 7 6
输出:9 8 7 6 5 3 2 1 0 -4
解决方法:选择排序法
实现代码如下:
#include <stdio.h> int main(int argc, const char * argv[]) { int num[10],i,j,k,l,temp; //用一个数组保存输入的数据 for(i=0;i<=9;i++) { scanf("%d",&num[i]); } //用两个for嵌套循环来进行数据大小比较进行排序 for(j=0;j<9;j++) { for(k=j+1;k<=9;k++) { if(num[j]<num[k]) //num[j]<num[k] { temp=num[j]; num[j]=num[k]; num[k]=temp; } } } //用一个for循环来输出数组中排序好的数据 for(l=0;l<=9;l++) { printf("%d ",num[l]); } return 0; }
2.
要求输入10个整数,从大到小排序输出
输入:2 0 3 -4 8 9 5 1 7 6
输出:9 8 7 6 5 3 2 1 0 -4
解决方法:冒泡排序法
实现代码如下:
#include <stdio.h> int main(int argc, const char * argv[]) { //用一个数组来存数据 int num[10],i,j,k,l,temp; //用for来把数据一个一个读取进来 for(i=0;i<=9;i++) { scanf("%d",&num[i]); } //用两次层for循环来比较数据,进行冒泡 for(j=0;j<9;j++) { for(k=0;k<9-j;k++) { if(num[k]<num[k+1]) //num[k]<num[k+1] { temp=num[k]; num[k]=num[k+1]; num[k+1]=temp; } } } //用一个for循环来输出数组中排序好的数据 for(l=0;l<=9;l++) { printf("%d ",num[l]); } return 0; }
以上所述是小编给大家介绍的常用的C语言排序算法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
上一篇:C/C++实现八大排序算法汇总
栏 目:C语言
下一篇:C++函数重载详解及实例代码
本文标题:常用的C语言排序算法(两种)
本文地址:https://www.xiuzhanwang.com/a1/Cyuyan/2035.html
您可能感兴趣的文章
- 01-10深入理解C++中常见的关键字含义
- 01-10深入解析Linux下\r\n的问题
- 01-10深入sizeof的使用详解
- 01-10c 调用python出现异常的原因分析
- 01-10探讨:C++中函数返回引用的注意事项
- 01-10探讨:程序在内存中的分配(常量,局部变量,全局变量,程序代码)问
- 01-10深入ORACLE变量的定义与使用的详解
- 01-10C语言中字符串常用函数strcat与strcpy的用法介绍
- 01-10深入const int *p与int * const p的区别详解(常量指针与指向常量的指
- 01-10C语言编程时常犯十八个错误小结
阅读排行
本栏相关
- 04-02c语言函数调用后清空内存 c语言调用
- 04-02func函数+在C语言 func函数在c语言中
- 04-02c语言的正则匹配函数 c语言正则表达
- 04-02c语言用函数写分段 用c语言表示分段
- 04-02c语言中对数函数的表达式 c语言中对
- 04-02c语言编写函数冒泡排序 c语言冒泡排
- 04-02c语言没有round函数 round c语言
- 04-02c语言分段函数怎么求 用c语言求分段
- 04-02C语言中怎么打出三角函数 c语言中怎
- 04-02c语言调用函数求fibo C语言调用函数求
随机阅读
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-11ajax实现页面的局部加载
- 01-10SublimeText编译C开发环境设置
- 01-10C#中split用法实例总结
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 01-10delphi制作wav文件的方法
- 04-02jquery与jsp,用jquery
- 01-10使用C语言求解扑克牌的顺子及n个骰子