使用向量和排序

时间:2016-02-24 05:28:14

标签: c++

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来读取空间和排序函数。循环该值以显示当前列表。问题是当前排序列表在输入值时不会显示。怎么办?

1 个答案:

答案 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;
   }
}