注册 登录
编程论坛 C++教室

deque容器,元素复制问题

fl8962 发布于 2014-04-10 02:02, 337 次点击
#include<iostream>
#include<list>
#include<deque>
using namespace std;
int main(void)
{
   int i,j=0;
   list<int> n;
   deque<int> o;
   deque<int> e;
   while(j!=2)
   {
     cin>>i;
      n.insert(n.begin(),i);
     j++;
    }  
   if(i/2==0)
   {
      o.insert(o.begin(),n.begin(),n.end());//我想把存储在list容器中的数字复制到deque容器中,
   }
   deque<int>::iterator q;
   q=o.begin();
    for(;q!=o.end();++q)//这里输出,但是不知道为什么没输出,请教一下哪里有问题?
    cout<<*q<<endl;
    return 0;
}
1 回复
#2
i802862014-04-10 13:34
试运行了一下(VS2013),如果第二个i的值输入0(或1),那么输出的结果就是0(或1)和第一个i的值;如果第二个i的值不为0,那么就没有输出值了
if(i/2==0)只判断最后一个i的值,在你的程序中就是第二个i值,如果不是0(或1),“o.insert(o.begin(),n.begin(),n.end())”语句就不执行了

[ 本帖最后由 i80286 于 2014-4-10 13:42 编辑 ]
1