vector<int> var;
int numb;
cout<<"Enter number: ";
while (cin>>numb) {
if (cin.get()==char(32)) {
var.push_back(numb);
shellsort(var);
for (int i=0; i<var.size(); i++) {
cout<<var[i]<<" ";
}
} else if (cin.get()=='\n') {
break;
}
}
我使用ascii代码32来读取空间和排序函数。循环该值以显示当前列表。问题是当前排序列表在输入值时不会显示。怎么办?
答案 0 :(得分:0)
你正在打电话,cin.get()
两次,不必要地修复它,你很高兴。
这是固定代码:
vector<int> var;
int numb;
cout<<"Enter number: ";
while(cin>>numb)
{
char c = cin.get();
if(c==char(32))
{
var.push_back(numb);
shellsort(var);
for(int i=0;i<var.size();i++)
{
cout<<var[i]<<" ";
}
cout<<endl;
}
else if(c=='\n')
{
break;
}
}