一、vector遍歷
vector是c++中常用的容器之一,可以方便快捷的進行數據存儲和管理。在進行vector的遍歷時,最基礎的方法是通過循環進行遍歷。以下是一個示例代碼:
vector vec = {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語言的方式進行。代碼示例如下:
vector vec = {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()函數可以實現刪除,以下是一段代碼示例:
vector vec = {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關鍵字進行遍歷。如下所示:
vector vec = {1, 2, 3, 4, 5}; for(auto val : vec){ cout << val << " "; }
此代碼中,使用auto關鍵字聲明一個val變數,遍歷vector中的每一個元素。
五、遍歷vector
當需要同時遍歷兩個vector時,可以使用以下方式進行操作:
vector vec1 = {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<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<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進行遍歷時,常常使用以下方式:
vector vec = {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循環遍歷
當需要進行循環遍歷時,可以使用下面的代碼進行操作:
vector vec = {1, 2, 3, 4, 5}; int index = 0; while(true){ cout << vec[index] << " "; index = (index + 1) % vec.size(); }
此代碼中,使用一個循環不斷地輸出vector中的元素,當index超過vector的長度時,回到初始位置進行循環。
十、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中的元素,輸出其值。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/283113.html