C++如何遍历数组vector

在C++中,vector是一个可变数组。那么怎么遍历它呢?我们以for循环为例(while循环,大家自己脑补)。

方法一:

基于范围的for循环,这是C++11新引入的。

cpp 复制代码
std::vector<int> v = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

for (const auto element : v) {
	std::cout << element << std::endl;
}

方法二:

使用迭代器。

cpp 复制代码
std::vector<int> v = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

for (auto element = v.begin(); element != v.end(); ++element) {
    std::cout << *element << std::endl;
}

v.begin()是第一个元素的指针,v.end()指向空(null)。++element是移动指针。

方法三:

这一种方式最传统,通过下标来遍历元素。

cpp 复制代码
std::vector<int> v = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

for (size_t i = 0; i < v.size(); ++i) {
	std::cout << v[i] << std::endl;
}

在此也给出C语言中遍历数组的方法:

c 复制代码
const int v[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
const int size = sizeof(v) / sizeof(v[0]);
for (int i = 0; i < size; i++) {
   printf("v[%d] = %d\n", i, v[i]);
}
相关推荐
桃气媛媛10 小时前
python流程控制-匹配语句match
开发语言·python
阿Y加油吧10 小时前
力扣打卡——反转链表、回文链表判断 题解
算法·leetcode
羊小猪~~10 小时前
算法/力扣--数组典型题目
c语言·c++·python·算法·leetcode·职场和发展·求职招聘
Johnny.Cheung10 小时前
【德国技术面试】两道小算法题(求两数之和/解谜游戏)
算法·面试
东东__net10 小时前
js逆向与谷歌加密库
开发语言·前端·javascript
无敌昊哥战神10 小时前
LeetCode 112. 路径总和 - 避坑指南与多语言全解法(C/C++/Python)
c语言·c++·leetcode
逻辑君10 小时前
Research in Brain-inspired Computing [1]-弹球游戏
c++·人工智能·神经网络·机器学习
x_xbx10 小时前
LeetCode:198. 打家劫舍
算法·leetcode·职场和发展
罗湖老棍子10 小时前
打鼹鼠_二维树状数组(信息学奥赛一本通- P1540)(二维树状数组模版题)
数据结构·算法·树状数组·二维树状数组
_日拱一卒10 小时前
LeetCode:盛最多水的容器
数据结构·算法·leetcode