随便写写插入排序

    插入排序思想:

     插入排序的过程类似于打牌时起牌的过程,可以将牌分为两个部分,一部分为手中的已经排好序的牌,另一部分是还未排序的的牌,每起一张牌将它插入到已经排好序的牌堆当中,初始状态为已排序牌堆的牌数为1,终止结果为已排序的牌堆中牌的数目为n,即全部排好序。

 输入:

 n      待排序的数字的个数

待排序的n个数字 

 输出:

排好序的n个数字

#include <iostream>

using namespace std;

int main()
{
    int n;
    int *data;
    int temp;
    cout<<"Please input the num:"<<endl;
    while(cin>>n)
    {
        if(n==0)
        continue;
        data=new int[n];
        for(int i=0;i<n;i++)
        cin>>data[i];
        for(int i=1;i<n;i++)
        {
            int j=i;
            while(j>0&&data[j]<data[j-1])
            {
                temp=data[j];
                data[j]=data[j-1];
                data[j-1]=temp;
                j--;
            }
        }
        cout<<"After sorted:"<<endl;
        for(int i=0;i<n;i++)
        cout<<data[i]<<" ";
        cout<<endl<<"Please input the num:"<<endl;
    }
}

  

态度决定高度,细节决定成败,
原文地址:https://www.cnblogs.com/lxk2010012997/p/2785678.html