插入排序
很常用的一种排序
#include <iostream>
using namespace std;
int a[10000];
int main(){
int n;
cin >> n;
for (int i=0;i<n;i++){
cin >> a[i];
}
int t,j; //t储存当前取到的项的值,j储存当前比较到的项的项数
for (int i=1;i<n;i++){ //第一个默认有序,所以从第二个开始
t=a[i]; //赋值
j=i; //赋值
while (j>0 && a[j-1]>t){ //while循环向前遍历:如果当前比较到的
a[j]=a[j-1]; //项的前一项比当前比较到的项大,那么
j--; //前一项的值移至当前项,并当前比较到的项
} //的项数向前移;j若到0或找到前一项
a[j]=t; //小于等于当前比较到的项,跳出循环
} //并给当前比较到的项赋值为t
for (int i=0;i<n;i++){
cout << a[i] << ' ';
}
cout << endl;
return 0;
}