c++截取vector
时间: 2023-10-17 15:32:05 浏览: 87
要截取vector数组的某一区间元素,可以使用以下两种方法:
方法一:使用函数CutArrs()
```cpp
vector<int> CutArrs(vector<int>& Arrs, int begin, int end){
vector<int> result;
result.assign(Arrs.begin() + begin, Arrs.begin() + end);
return result;
}
```
这个函数接受一个vector数组Arrs,以及区间的左边界begin和右边界end(相对于Arrs.begin()的位置)。通过使用assign()函数,将Arrs中指定区间的元素赋值给新的vector数组result。最后返回result作为截取的结果。
方法二:使用迭代器
```cpp
vector<int> Arrs {1,2,3,4,5,6,7,8,9};
vector<int>::const_iterator First = Arrs.begin() + 1;
vector<int>::const_iterator Second = Arrs.begin() + 2;
vector<int> Arr2(First, Second);
```
在这个方法中,我们先使用迭代器找到要截取的区间的起始位置和结束位置,然后使用这两个迭代器作为参数,直接初始化一个新的vector数组Arr2。这样就可以得到截取的结果。
注意:以上两种方法都是截取数组的左闭右开区间,即包含左边界,但不包含右边界。
<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [C++容器vector的数组片段截取操作](https://blog.csdn.net/qq_40250056/article/details/114681940)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]