
#include<bits/stdc++.h>
using namespace std;
void InsertionSort(int a[],int n)
{
for(int i=1;i<n;i++)// 类似抓扑克牌排序
{
int now=a[i];// 右手抓到一张扑克牌, 拿在左手上的牌总是排序好的
int j=i-1;
for(;j>=0&&a[j]>now ;j--)// 将抓到的牌与手牌从右向左进行比较
a[j+1]=a[j];// 如果该手牌比抓到的牌大,就将其右移
a[j+1]=now;// 直到该手牌比抓到的牌小(或二者相等),将抓到的牌插入到该手牌右边(相等元素的相对次序未变,所以插入排序是稳定的)
}
}
int main ()
{
int N , i;
cin>>N;
int a[N];
for(i=0; i<N; i++)
cin>>a[i];
InsertionSort(a,N);
cout<<a[0];
for(i=1; i<N; i++)
cout<<" "<<a[i];
return 0;
}



by: 发表于:2018-05-28 15:24:04 顶(5) | 踩(6) 回复
??
回复评论