簡體   English   中英

在C ++中如何將范圍元素移動到向量的向量

[英]In c++ how to move range elements for a vector of vectors

說我有一個:

std::vector<std::vector<int> > indices;

我將這些填滿,其中外部和內部向量的每個索引都有3個條目。 現在,我想做一些類似於在單個向量容器上應用std:move_backward()操作。

讓我舉個例子吧。 這是我在以下索引處填充的初始容器:

[0][0][0][1][0][2] , [1][0][1][1][1][2] , [2][0][2][1][2][2] , [3][0][3][0][3][0]

從第i個元素向后移動后,在此示例中:external-index [1] ,我將得到:

[0][0][0][1][0][2] , [1][0][1][1][1][2] , [1][0][1][1][1][2] , [2][0][2][1][2][2]

基本上,將外部索引[1]放置在[2] ,然后將[3]替換為原始索引[1] [2] ,將內部向量與其一起移動。

關於如何做到這一點的任何想法? 也許帶有功能模板?

這應該按照您的描述進行:

std::copy_backward(indices.begin()+1, indices.begin()+3, indices.end());

不需要對內部向量進行特殊處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM