一、vector遍历
vector是c++中常用的容器之一,可以方便快捷的进行数据存储和管理。在进行vector的遍历时,最基础的方法是通过循环进行遍历。以下是一个示例代码:
vectorvec = {1, 2, 3, 4, 5}; for(int i = 0; i < vec.size(); i++){ cout << vec[i] << " "; }
此代码中,循环遍历了vector中的每一个元素,输出其值。这种方法最为常见,也是最为基础的vector遍历方式。
二、c vector变量取值运行报错
在进行c++ vector遍历时,经常会遇到一种问题,即“c vector变量取值运行报错”。这是因为,c vector与c++ vector有所不同,在进行取值时需要使用c语言的方式进行。代码示例如下:
vectorvec = {1, 2, 3, 4, 5}; for(int i = 0; i < vec.size(); i++){ int val = vec.at(i); cout << val << " "; }
在此代码中,使用了c语言的方式进行vector的取值,避免了出现报错的情况。
三、vector遍历删除
在进行vector遍历时,有时需要进行删除操作。使用erase()函数可以实现删除,以下是一段代码示例:
vectorvec = {1, 2, 3, 4, 5}; for(auto it = vec.begin(); it != vec.end();){ if(*it == 3){ it = vec.erase(it); }else{ it++; } } for(auto val : vec){ cout << val << " "; }
此代码中,使用了迭代器进行遍历,当检测到值为3时,则使用erase()函数进行删除操作,最后再次遍历vector进行输出。
四、c++遍历vector
c++11中提供了一种更为简便的vector遍历方式,即使用auto关键字进行遍历。如下所示:
vectorvec = {1, 2, 3, 4, 5}; for(auto val : vec){ cout << val << " "; }
此代码中,使用auto关键字声明一个val变量,遍历vector中的每一个元素。
五、遍历vector
当需要同时遍历两个vector时,可以使用以下方式进行操作:
vectorvec1 = {1, 2, 3, 4, 5}; vector vec2 = {6, 7, 8, 9, 10}; for(int i = 0; i < vec1.size(); i++){ cout << vec1[i] << " " << vec2[i] << endl; }
此代码中,使用两个循环遍历vec1和vec2,输出它们对应位置的元素。
六、auto遍历vector
除了上述方式外,当需要同时遍历多个vector时,还可以使用auto进行简单的代码实现。以下是一个示例:
vector> vecs = {{1, 2}, {3, 4}, {5, 6}}; for(auto &vec : vecs){ for(auto val : vec){ cout << val << " "; } cout << endl; }
此代码中,使用auto声明一个vec,对vecs进行遍历,再在其中使用auto进行遍历元素。
七、二维vector遍历
在使用二维vector进行遍历时,可以使用以下方式进行操作:
vector> vecs = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; for(int i = 0; i < vecs.size(); i++){ for(int j = 0; j < vecs[i].size(); j++){ cout << vecs[i][j] << " "; } cout << endl; }
此代码中,使用两个循环进行遍历,第一个循环遍历vec,第二个循环遍历vec[i]中的元素。
八、vector和list容易遍历
在使用vector和list进行遍历时,常常使用以下方式:
vectorvec = {1, 2, 3, 4, 5}; list li(vec.begin(), vec.end()); for(auto it = li.begin(); it != li.end(); it++){ cout << *it << " "; }
此代码中,首先将vector转化为list,再使用list的begin()和end()函数进行遍历,输出每个元素的值。
九、vector循环遍历
当需要进行循环遍历时,可以使用下面的代码进行操作:
vectorvec = {1, 2, 3, 4, 5}; int index = 0; while(true){ cout << vec[index] << " "; index = (index + 1) % vec.size(); }
此代码中,使用一个循环不断地输出vector中的元素,当index超过vector的长度时,回到初始位置进行循环。
十、vector二维数组遍历
在使用vector作为二维数组进行遍历时,可以使用以下方式进行操作:
vector> vecs = {{1, 2, 3}, {4, 5}, {6, 7, 8, 9}}; for(int i = 0; i < vecs.size(); i++){ for(int j = 0; j < vecs[i].size(); j++){ cout << vecs[i][j] << " "; } cout << endl; }
此代码中,使用两个循环遍历vector中的元素,输出其值。