直接插入排序
来源:互联网 发布:java中断线程的方法 编辑:程序博客网 时间:2024/04/28 16:11
直接插入排序:每趟将一个待排序的元素作为关键字,按照其关键字的大小插入到已经排好的部分序列的适当位置上,直到插入完成。
/*直接插入排序*/#include <stdio.h> #include <stdlib.h> #include <time.h> #include <iostream> #define MAX 11 void input(int num[])//产生10个随机数 1......10(MAX-1) { int i; srand((unsigned)time(NULL)); for(i=1; i<MAX; i++) num[i]=rand()%100; //产生100以内的随机数 } void output(int num[]) { int i; for(i=1; i<MAX; i++) { printf("%5d", num[i]); if(0 == i%10) printf("\n"); } printf("\n"); } void direct_insert_sort(int num[], int left, int right)//数组 1 10 { int n=right-left+1;int i,j,temp;for(i=2;i<=n;++i){temp=num[i];//待插入元素j=i-1;while(j>=1&&temp<num[j])//如果待排元素之前元素大于待排元素,则后移一位{num[j+1]=num[j];--j;}num[j+1]=temp;//找到插入位置,将暂存的待排元素插入}} void main() { int num[MAX]; input(num); printf("sort before...\n"); output(num); direct_insert_sort(num, 1, MAX-1); printf("sort after...\n"); output(num); std::cin.get(); }
0 0
- 插入排序--直接插入
- 插入排序------直接插入
- 插入排序---直接插入
- 排序:直接插入排序
- 排序---直接插入排序
- 排序 -- 直接插入排序
- 排序---直接插入排序
- 排序--直接插入排序
- 排序-直接插入排序
- 【排序】直接插入排序
- 排序--直接插入排序
- 排序:直接插入排序
- 【排序】直接插入排序
- 排序--直接插入排序
- 排序--直接插入排序
- 排序-直接插入排序
- 插入排序--直接插入排序
- 插入排序-直接插入排序
- [Android] 消息处理机制
- Oracle12c下pdborcl消失了,重新插入pdborcl
- UIViewController 调用顺序
- ROS的优势与不足(除了ROS 机器人自主定位导航还能怎么做?)
- 潘天佑博士2014微软学生夏令营演讲:如何培养领导力
- 直接插入排序
- nignx+keepalived高可用配置开发步骤
- NYOJ 82 迷宫寻宝(一) (DFS)
- 解密优秀博士成长史 ——微软亚洲研究院首届博士生学术论坛Panel讨论经验总结
- android studio中导入第三方库
- 单片机中几种常见的延时方法
- 利用WebHook实现PHP自动部署Git代码
- 什么是计算机图形学?
- GDAL安装