插入排序
基本思想:
把待排序的数列一一插入已经排序好的数列当中。
代码:
#include <iostream>
using namespace std;
const int LN=10000;
int a[LN];
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++) cin>>a[i];
//插入排序
for(int i=0;i<n;i++){
int j;
//查找插入位置
for( j=i-1;j>=0;j--)
if(a[j]<a[i]) break;
//交换数据
if(j!=i-1){
int temp=a[i];
for(int k=i-1;k>j;k--) a[k+1]=a[k];
a[j+1]=temp;
}
}
//输出排序后
for(int i=0;i<n;i++) cout<<a[i]<<" ";
return 0;
}