21xrx.com
2024-12-22 17:33:26 Sunday
登录
文章检索 我的文章 写文章
C++如何将两个vector合并为一个?
2023-07-08 17:50:30 深夜i     --     --
C++ vector 合并 两个

C++中有多种方法可以将两个vector合并为一个。下面介绍两种常用的方法。

方法一:使用std::vector的insert()函数


std::vector<int> vec1 1;

std::vector<int> vec2 4;

//将vec2插入到vec1的末尾

vec1.insert(vec1.end(), vec2.begin(), vec2.end());

这个方法比较简单,使用std::vector的insert()函数,将两个vector的范围合并到第一个vector的末尾。

方法二:使用std::move()函数和std::back_inserter()函数


std::vector<int> vec1 3;

std::vector<int> vec2 5;

//使用std::back_inserter()函数来创建一个迭代器

//使用std::move()函数将vec2的元素移动到vec1的末尾

std::move(vec2.begin(), vec2.end(), std::back_inserter(vec1));

这个方法使用std::move()函数将vec2中的元素移动到vec1的末尾,避免了元素的复制,因此效率更高。同时,使用std::back_inserter()函数来创建一个迭代器,可以自动将元素插入到vec1的末尾。

无论采用哪种方法,都可以将两个vector合并成一个。需要注意的是,这种方法并不会删除原来的vector,如果需要删除原来的vector,可以使用clear()函数,将vector清空。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复