您的位置:首页 > 其它

随便写写-插入排序

2012-11-24 22:48 351 查看
插入排序思想:

插入排序的过程类似于打牌时起牌的过程,可以将牌分为两个部分,一部分为手中的已经排好序的牌,另一部分是还未排序的的牌,每起一张牌将它插入到已经排好序的牌堆当中,初始状态为已排序牌堆的牌数为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
;
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;
}
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: