几种简单排序
来源:互联网 发布:2017soda开放数据大赛 编辑:程序博客网 时间:2024/05/16 18:14
/*************** 几种排序***************/#include <stdio.h>#include <stdlib.h>#include <time.h>#define LEN 5void arr_init(int num[], int len){int i;srand(time(NULL));for(i = 0; i < len; i++){num[i] = rand()%50;}}void arr_print(int num[], int len){int i;for(i = 0; i < len; i++){printf("%d ", num[i]);}printf("\n");}#if 0//选择排序void change_sort(int num[], int len){int i, j, tmp_min;int tmp;for(i = 0; i < len - 1; i++){tmp_min = i; //假定第一个参数为最小值(取下标)for(j = i + 1; j < len; j++){if(num[tmp_min] > num[j]){tmp_min = j; //找出当前数列第一个最小值,把下标记录在tmp_min里}}//看最小的数的下标是不是当前i,不是的话,交换数据if(tmp_min != i){tmp = num[i];num[i] = num[tmp_min];num[tmp_min] = tmp;}}}#endif#if 0//冒泡排序void maopao_sort(int num[], int len){int i, j, tmp;for(i = 0; i < len; i++){for(j = 0; j < len - i - 1; j++){if(num[j] > num[j + 1]){ //**注意是num[j] and num[j + 1]**tmp = num[j + 1];num[j + 1] = num[j];num[j] = tmp;}}}}#endif#if 0//插入排序void insert_sort(int num[], int len){int i, j, tmp;//将当前位置往后挪一位,并暂存到tmp,新数值与其比较,若小于,放到前面.for(i = 1; i < len; i++){tmp = num[i];for(j = i - 1; j >= 0 && num[j] > tmp; j--){num[j + 1] = num[j];}num[j + 1] = tmp;}}#endif#if 1//调用qsort 快速选择排序函数int comp_sort(const void *a, const void *b){return *(int *)a - *(int *)b;}#endifint main(void){int num[LEN];//char *p;arr_init(num, LEN);arr_print(num, LEN);//insert_sort(num, LEN);//maopao_sort(num, LEN);//change_sort(num, LEN);qsort(num, LEN, sizeof(int), comp_sort);arr_print(num, LEN);return 0;}/*akaedu@akaedu-G41MT-D3:~/lin/804_sf$ ./1.in 39 16 1 9 10 1 9 10 16 39 akaedu@akaedu-G41MT-D3:~/lin/804_sf$ ./1.in 37 45 16 5 30 5 16 30 37 45 akaedu@akaedu-G41MT-D3:~/lin/804_sf$ ./1.in 16 22 41 25 19 16 19 22 25 41 */
0 0
- 几种简单排序
- 几种简单排序
- 几种简单排序
- 几种简单排序(C#)
- 几种简单排序算法
- 几种简单的排序
- 几种简单的排序
- 几种简单的排序
- 几种简单的排序
- 几种简单的排序
- 几种简单排序算法
- 几种排序算法java简单实现
- 几种简单的排序算法
- 简单的几种排序方法
- 几种简单的排序法
- 几种简单的排序算法
- 几种简单的排序算法
- 简单的几种排序算法源码
- Java Double类型如何不科学计数法显示
- c++中static和inline关键字
- 音频视觉演示留下一个持久的印象你的观众
- Java学习笔记之一:XML文件的生成
- 音频节目在学院
- 几种简单排序
- ListView属性介绍
- 音频租用合同
- sh脚本 语法
- android 反编译(dex 和 odex),非脑残转帖,绝对可靠
- PHP文件操作系统
- 对c#中treeView的理解应用
- Protocol Buffer
- 音频文件提出了挑战为计算机取证和电子发现