插入排序
来源:互联网 发布:正交矩阵的性质 编辑:程序博客网 时间:2024/06/04 19:14
《算法竞赛宝典》
把预插入的数与数组中的各个数逐个比较,当找到第一个比插入数大的元素i时,该元素之前即为插入位置。然后从数组最后一个元素开始到该元素为止,逐个后移一个位置。
初始键值序列 【12】 15 9 20 6 31 24
第一趟排序: 【12】 15】 9 20 6 31 24
第二趟排序: 【9 12 15】 20 6 31 24
第三趟排序: 【9 12 15 20】 6 31 24
第四趟排序: 【6 9 12 15 20】 31 24
第五趟排序: 【6 9 12 15 20 31】 24
第六趟排序: 【6 9 12 15 20 24 31】
#include<cstdio>#define N 10000int a[N+1];void sort(int n){int i,j,temp;for(i=2;i<=n;i++){temp=a[i];//temp为要插入的元素 j=i-1;while(j>=1&&temp<a[j])//从a[i-1]开始向前找比a[i]小的数 {a[j+1]=a[j];//同时把数组元素向后移 --j;}a[++j]=temp;//插入 }} int main(){int i,n;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d",&a[i]);}sort(n);for(i=1;i<=n;i++){printf("%d ",a[i]);}}
0 0
- 插入排序-【插入排序】
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- ViewPager结合Fragment 实现的页面切换
- 关于轮播图的练习和遇到的问题
- linux eval 命令的使用
- asp.net mvc 学习总结
- 5-18 二分法求多项式单根 (20分)
- 插入排序
- HDU 5971 Wrestling Match(染色法二分图 OR 并查集)
- JZOJ 1329——旅行【贪心】
- 使用Messenger实现IPC
- 扑克牌顺序
- c++ bind函数
- GDOI2017 AFOING...
- iOS响应链和传递机制
- HDU 5245 Joyful