打赏

swust oj 1016

插入排序算法实现

1000(ms)
10000(kb)
2613 / 6080
插入排序算法实现。

输入

第一行是待排序数据元素的个数;
 第二行是待排序的数据元素。

输出

一趟直接插入排序算法结果。

样例输入

10
50 36 41 19 23 4 20 18 12 22

样例输出

36 50 41 19 23 4 20 18 12 22

 

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int n,a[100];
 6     cin>>n;
 7     for(int i=0;i<n;i++)
 8     {
 9         cin>>a[i];
10     }
11     int i=1;
12     if(a[i]<a[i-1])
13     {
14         int temp=a[i];
15         int j=i-1;
16         do{
17             a[j+1]=a[j];
18             j--;
19         }while(j>=0&&a[i]>temp);
20         a[j+1]=temp;
21     }
22     for(int i=0;i<n;i++)
23         cout<<a[i]<<" ";
24     return 0;
25 }

 

posted @ 2019-04-15 20:53  Onebelieve  阅读(249)  评论(0编辑  收藏  举报