直接插入排序举例

来源:互联网 发布:好听的女声网络歌曲 编辑:程序博客网 时间:2024/06/01 08:39

#include<iostream>
template<class T>
void InsertionSort(T A[],int n)
{
   int i,j;
   T temp;
   for(i=1;i<n;i++)
   {
     j=i;
     temp=A[i];
     while(j>0&&temp<A[j-1])
     {
     A[j]=A[j-1];
        j--;
     }
     A[j]=temp;
   for(int k=0;k<n;k++)
   cout<<A[k]<<" ";
   cout<<endl;
  }
}
int main()
{
  int data1[]={1,3,5,7,9,11,13,15,17,19,2,4,6,8,10,12,14,16,18,20};
  cout << "排序前的数据:" << endl;
  for(int i=0;i<20;i++)
  cout << data1[i] << " ";
  cout << endl;
  cout << "开始排序..." << endl;
  InsertionSort(data1, 20);
  cout << "排序后的数据:" << endl;
  for(int i=0;i<20;i++)
  cout << data1[i] << " ";
  cout << endl;
  
}