算法
2016-01-22 13:47
176 查看
一、排序
1.选择排序
2.冒泡排序
3。插入排序
后面是希尔排序,快速排序
1.选择排序
/********************************* *author jishuzhain *time 2016-01-21 *function 选择排序 *********************************/ #include<stdio.h> int a[10]; int i, j, k, m; int main() { printf("请输入10个数字,数字之间用空格隔开!\n"); for(i = 0; i < 10; i++) scanf("%d", &a[i]); //实现代码 for(i = 0; i < 9; i++) { k = i; for(j = i+1; j < 10; j++) if(a[k] > a[j]) k = j; //找出一列中最小的数=a[k] if(k != i) { m = a[i]; a[i] = a[k]; a[k] = m; } } printf("用选择法由小到大排序后为\n"); for(i = 0; i < 10; i++) printf("%d ", a[i]); return 0; }
2.冒泡排序
/**************************** *Author jishuzhain *Time 2016-01-22 *Function 冒泡排序 *****************************/ #include<stdio.h> int a[10], i, j, k; int main() { printf("请输入10个数, 用空格隔开,以回车键结束!\n"); for(i = 0; i < 10; i++) scanf("%d", &a[i]); //实现代码 for(i = 0; i < 9; i++) for(j = 0; j < 9-i; j++) if(a[j] > a[j+1]) { k = a[j]; a[j] = a[j+1]; a[j+1] = k; } printf("你输入的数字按冒泡法由小到大排序后为\n"); for(i = 0; i < 10; i++) printf("%d ", a[i]); return 0; }
3。插入排序
/************************** *Author jishuzhain *Time 2016-01-22 *Function 插入排序法 ***************************/ #include<stdio.h> int main() { int i, j, k, a[10]; printf("请输入10个数字\n"); for(i = 0; i < 10; i++) scanf("%d", &a[i]); //实现代码 for(i = 1; i < 10; i++) { k = a[i]; j = i - 1; while((j >= 0) && (a[j] > k)) //j大于0是为了不越界 { //while循环是判断前面的数 a[j+1] = a[j]; //是否大于比较的数,j--不断的后移 j--; //然后插入不满足的数的前一个,j+1 } a[j+1] = k; } printf("插入排序后的数为:\n"); for(i = 0; i < 10; i++) { printf("%d ", a[i]); } return 0; }
后面是希尔排序,快速排序
相关文章推荐
- 学习 Linux 是我们的爱情语言
- 在命令行用 sort 进行排序
- 基础命令学习总结
- 书评:《算法之美( Algorithms to Live By )》
- Mootools 1.2教程 函数
- autoit InputBox 函数
- 动易2006序列号破解算法公布
- 文件遍历排序函数
- Prototype 学习 工具函数学习($方法)
- C#选择排序法实例分析
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- Ruby实现的矩阵连乘算法
- ASP下经常用的字符串等函数参考资料
- PostgreSQL教程(五):函数和操作符详解(1)
- C#插入法排序算法实例分析
- DOS批处理 函数定义与用法
- asp Chr 函数 数字转字母的方法
- Lua中的函数精讲笔记
- android studio 导入eclipse遇到的相关问题