直接插入排序算法实现学习

#include <iostream>
using namespace std;
void show(int *a,int n)
{
    for(int i=0;i<n;i++)
    {
       cout<<a[i]<<"\t";
    }
     cout<<endl;
}

void InsertSort(int *k,int n)
{
   int i=0,j=0,temp=0;
    for(i=1;i<n;i++)
    {
       if(k[i]<k[i-1])  //需要将k[i]放到k[i-1]的前面去
       {
          temp=k[i];
       
           for(j=i-1;k[j]>temp && j>=0;j--)
           {
              k[j+1]=k[j];  //将比k[i]大的数向后移
           }
           k[j+1]=temp; //在合适的位置插入
      }
    }
}

int main()
{
    int a[10]={9,3,4,2,1,6,8,7,5,0};
    show(a,10);
    InsertSort(a,10);
    show(a,10);
   cout << "Hello World";
   return 0;
}

猜你喜欢

转载自blog.csdn.net/usstmiracle/article/details/84562642