博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++:vector遍历,拷贝,插入
阅读量:4060 次
发布时间:2019-05-25

本文共 1802 字,大约阅读时间需要 6 分钟。

vector遍历:

类C遍历,按插入顺序

vector
a = {
1,2,3,4,5};for(int i=0;i

迭代器遍历

vector
a = {
1,2,3,4,5};for(vector
::iterator p=a.begin();p!=a.end();p++) printf("%d%s",*p,p==a.end()-1?"\n":" ");

类const迭代器访问,不可对原始vector进行修改

vector
a = {
1,2,3,4,5};for(auto p = a.cbegin();p!=a.cend();p++) printf("%d%s",*p,p==a.cend()-1?"\n":" ");

自适应指针遍历,结尾会多一个空格

vector
a = {
1,2,3,4,5};for(auto p:a) printf("%d ",p);

vector拷贝

int型vector

声明时拷贝,深拷贝

vector
a = {
1,2,3,4,5};vector
b(a);a.clear();for(auto p:b) printf("%d ",p);

赋值拷贝,深拷贝

vector
a = {
1,2,3,4,5};vector
b;b = a;a.clear();for(auto p:b) printf("%d ",p);

assign分配,深拷贝

vector
a = {
1,2,3,4,5};vector
b;b.assign(a.cbegin(), a.cend());a.clear();for(auto p:b) printf("%d ",p);

追加插入,深拷贝

vector
a = {
1,2,3,4,5};vector
b;b.insert(b.cend(),a.cbegin(), a.cend());a.clear();for(auto p:b) printf("%d ",p);

struct型vector

声明时拷贝,深拷贝

struct Node{    int n;    Node(int nn){n = nn;}};vector
a;for(int i=1;i<=5;i++) a.push_back(Node(i));vector
b(a);a.clear();for(auto p:b) printf("%d ",p.n);

赋值拷贝,深拷贝

struct Node{    int n;    Node(int nn){n = nn;}};vector
a;for(int i=1;i<=5;i++) a.push_back(Node(i));vector
b = a;a.clear();for(auto p:b) printf("%d ",p.n);

vector插入

插入单个数据:

vector
a = {
1,2,3,4,5};a.insert(a.cbegin(),0);for(auto t:a) printf("%d ",t); //输出0 1 2 3 4 5

插入重复的单个数据:

vector
a = {
1,2,3,4,5};a.insert(a.cbegin(),2,0);for(auto t:a) printf("%d ",t); //输出0 0 1 2 3 4 5

插入一个数组:

vector
a = {
1,2,3,4,5};vector
b = {
6,7};a.insert(a.cbegin(),b.cbegin(),b.cbegin()+1);for(auto t:a) printf("%d ",t); //输出6 1 2 3 4 5

转载地址:http://fkwji.baihongyu.com/

你可能感兴趣的文章
adb command not found
查看>>
Xcode 启动页面禁用和显示
查看>>
【剑指offer】q50:树中结点的最近祖先
查看>>
二叉树的非递归遍历
查看>>
【leetcode】Reorder List (python)
查看>>
【leetcode】Linked List Cycle (python)
查看>>
【leetcode】Linked List Cycle (python)
查看>>
【leetcode】Candy(python)
查看>>
【leetcode】Clone Graph(python)
查看>>
【leetcode】Sum Root to leaf Numbers
查看>>
【leetcode】Pascal's Triangle II (python)
查看>>
java自定义容器排序的两种方法
查看>>
如何成为编程高手
查看>>
本科生的编程水平到底有多高
查看>>
AngularJS2中最基本的文件说明
查看>>
从头开始学习jsp(2)——jsp的基本语法
查看>>
使用与或运算完成两个整数的相加
查看>>
备忘:java中的递归
查看>>
DIV/CSS:一个贴在左上角的标签
查看>>
Solr及Spring-Data-Solr入门学习
查看>>