#include
#include
using namespace std;
vector Insertion_sort(vector& A)
{
for(vector::size_type i=1;i
{
int key=A[i];
vector::size_type j=i-1;
while(j>=0&&A[j]<key)
{
A[j+1]=A[j];
j=j-1;
}
A[j+1]=key;
}
return A;
}
int main()
{
vector A;
int x;
cout<<"Please enter some numbers:";
while(cin>>x)
A.push_back(x);
A=Insertion_sort(A);
for(vector::size_type i=0;i<A.size();++i)
cout<<A[i]<<" ";
cout<<endl;
}
请问为什么上述插入排序算法会有错误呢?如果按照升序输出结果的话,也就是将A[j]key没有错误;为什么这样就出现错误呢?请大家帮我解答一下,非常感谢。