#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) 回复
??
回复评论