/*
根据算法导论插入排序算法编写。
INSERTION-SORT
for j=2 to A.length
key=A[j]
//insert A[j] into the sorted sequence A[1.2..j-1]
i=j-1
while(i>0&&key<A[i])
A[i+1]=A[i]
i=i-1
A[i+1]=key
*/
#include<iostream>
#include<vector>using namespace std;
int main()
{
vector<int> ivec;
int integer,key,i;
cout<<"Enter integer for ivec(ctrl+z to end):"<<endl;
while(cin>>integer)
{
ivec.push_back(integer);
}
for(int j=1;j<ivec.size();j++)
{
key=ivec[j];
i=j-1;
while(i>=0&&key<ivec[i])
{
ivec[i+1]=ivec[i];
i=i-1;
}
ivec[i+1]=key;
}
for(vector<int>::iterator iter=ivec.begin();iter!=ivec.end();++iter)
{
cout<<*iter<<" ";
}
return 0;
}