在向量中拆分双端队列

时间:2018-10-17 20:38:02

标签: c++

我正在尝试解决一个非常奇怪的问题。我对STL容器没有太多的经验,所以对我来说,它们的构造是一个很大的谜。好的,回到主要主题。我需要创建一个双端队列的向量,然后将该向量内的每个现有双端队列拆分为两半。从现在开始,每半部分将创建独立的双端队列。 我期待这样的事情:

  

vector {deque {1,2,3,4,5}} -----> vector {deque {1,2,3},deque {4,5}}

{{1}}

输出:

  

1、2、3、4、5,

     

4、5,

预期:

  

1、2、3,

     

4、5,

我不知道发生了什么。有人可以向我解释为什么我对这些容器的想法是错误的吗?这将对我有很大的帮助。

1 个答案:

答案 0 :(得分:1)

我相信问题就在这里

writer = pd.ExcelWriter('/path/to/output.xlsx')

for i, df in df_dict.items():
   df.to_excel(writer, sheet_name=i)

writer.save()

当您真正想要的是std::deque<int> deque = *(vector_of_deques.begin()); 时,您正在制作双端队列的副本。照原样,当您的代码执行此操作时:

std::deque<int>&

您要从副本中擦除文件,而不更改原始矢量。