随便写写-插入排序
插入排序思想:
插入排序的过程类似于打牌时起牌的过程,可以将牌分为两个部分,一部分为手中的已经排好序的牌,另一部分是还未排序的的牌,每起一张牌将它插入到已经排好序的牌堆当中,初始状态为已排序牌堆的牌数为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;
}
}
态度决定高度,细节决定成败,

浙公网安备 33010602011771号