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]);
}
相关推荐
jinanwuhuaguo10 分钟前
人工智能的进化阶梯:AI、ANI、AGI与ASI的核心区别与深度剖析
开发语言·人工智能·agi·openclaw
清空mega17 分钟前
C++中关于数学的一些语法回忆(2)
开发语言·c++·算法
想唱rap23 分钟前
线程池以及读写问题
服务器·数据库·c++·mysql·ubuntu
香蕉鼠片26 分钟前
数据结构八股(一)
数据结构·算法
Mr_Xuhhh38 分钟前
从理论到实践:深入理解算法的时间与空间复杂度
java·开发语言·算法
望眼欲穿的程序猿44 分钟前
Vscode Clangd 无法索引 C++17 或者以上标准
java·c++·vscode
Lenyiin1 小时前
《Python 修炼全景指南:一》从环境搭建到第一个程序
开发语言·python
6Hzlia1 小时前
【Hot 100 刷题计划】 LeetCode 42. 接雨水 | C++ 动态规划与双指针题解
c++·算法·leetcode
地平线开发者1 小时前
智能驾驶感知算法的演进
算法·自动驾驶
涛声依旧393161 小时前
Python项目实战:学生信息管理系统
开发语言·python·数据挖掘