排序-直接插入排序
2017-11-23 01:00
344 查看
输入格式:
输入第一行给出正整数N(≤105),随后一行给出N个(长整型范围内的)整数,其间以空格分隔b839
。
输出格式:
在一行中输出从小到大排序后的结果,数字间以1个空格分隔,行末不得有多余空格。输入样例:
11 4 981 10 -17 0 -20 29 50 8 43 -5
输出样例:
-20 -17 -5 0 4 8 10 29 43 50 981
/* 直接插入排序 ٩(*Ӧ)و写的全对 */ #include<bits/stdc++.h> using namespace std; const int MAX = 100010; int main() { int N, j; int a[MAX]; scanf("%d", &N); for(int i = 1; i <= N; ++i) scanf("%d", &a[i]); //插入排序 for(int i = 2; i <= N; ++i) { if(a[i] < a[i - 1]) { a[0] = a[i];//哨兵 a[i] = a[i - 1]; for(j = i - 2; a[j] > a[0]; --j) { a[j + 1] = a[j]; } a[j + 1] = a[0]; } } for(int i = 1; i <= N; ++i) { if(i != 1) printf(" "); printf("%d", a[i]); } }
相关文章推荐
- Java实现直接插入排序
- 直接插入排序
- 【C语言经典实例】-直接插入排序
- C 语言经典题目系列解决方案(9)-直接插入排序
- 排序算法-直接插入排序
- 数据结构——直接插入排序
- 直接插入排序 Java/C
- 直接插入排序
- 六种排序方法的学习(直接插入、希尔、冒泡、快速、选择、归并)
- 八大排序算法总结之一(冒泡排序,快速排序,直接插入排序,希尔排序)
- 白话经典算法系列之二 直接插入排序的三种实现
- 直接插入排序(JAVA实现)
- 直接插入排序
- 排序算法之1)直接插入排序
- 直接插入排序
- 直接插入排序(go实现)
- 直接插入排序
- 直接插入排序
- 插入排序之直接插入排序
- 八大排序算法的python实现(一)直接插入排序