插入排序(c++)
#include <bits/stdc++.h> using namespace std; const int maxn=10000; int A[maxn]; /* 插入排序: 按照从小到大排序时: 1.从2-n中循环数据 2.每个数据和前面的数据进行比较 3.小于前面的数据并且下表大于1的时候,将小的数据后移 4.不满足的时候,即A[j]>=A[j-1]的时候直接插入在j的位置 */ //从小到大的排序 void insertSort_By_Small_to_Big(int len){ for(int i=2;i<=len;i++){ int temp=A[i],j=i;//temp获取当前的数据,然后和这个数之前的所有数据进行比较 while(j>1&&temp<A[j-1]){ //后面的数要小于前面的数 A[j]=A[j-1]; j--; } A[j]=temp;//将数插入相应的位置 } } int main(){ int n;//排序的长度 cin>>n; for(int i=1;i<=n;i++){ cin>>A[i]; } insertSort_By_Small_to_Big(n); for(int i=1;i<=n;i++){ cout<<A[i]<<" "; } cout<<endl; }
一纸高中万里风,寒窗读破华堂空。
莫道长安花看尽,由来枝叶几相同?