插入排序

来源:互联网 发布:中国人在西班牙 知乎 编辑:程序博客网 时间:2024/04/29 03:36

#include <iostream>

#define MAXSIZE 100
using namespace std;

void InsertSort(int Arry[],int n)
{
 int j;
 for(int i = 2; i <= n; i++)
  if(Arry[i] < Arry[i - 1]) //如果小于则做循环 不小于不做
  {
   Arry[0] = Arry[i];
   Arry[i] = Arry[i - 1];
   j = i - 2;
   while(Arry[j] > Arry[0])
   {
    Arry[j + 1] = Arry[j];
    j--;
   }
   Arry[j + 1] = Arry[0];

  }
}
int main()
{
 int Arry[MAXSIZE];
 int n;  //数组元素个数
 cout<<"请输入待排序数列,以-1结束输入:";
 int i = 0,x;
 while(cin>>x,x != -1)
 {
  i++;
  Arry[i] = x;
  
 }
 n = i;
 InsertSort(Arry,n);
 cout<<"排序后:";
 for(i = 1; i <= n; i++)
 {
  cout<<Arry[i]<<" ";
 }
 cout<<endl;
 return 0;
}

原创粉丝点击