c++ vector遍歷詳解

一、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-hant/n/283113.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-22 08:07
下一篇 2024-12-22 08:07

相關推薦

  • Python遍歷集合中的元素

    本文將從多個方面詳細闡述Python遍歷集合中的元素方法。 一、for循環遍歷集合 Python中,使用for循環可以遍歷集合中的每個元素,代碼如下: my_set = {1, 2…

    編程 2025-04-29
  • Python如何遍歷字典中的key和value

    本文將詳細講解Python中如何遍歷字典中的key和value,包括多種遍歷方式以及在遍歷過程中的一些應用場景。 一、遍歷字典中的key和value 在Python中,字典是一種無…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • 二叉樹非遞歸先序遍歷c語言

    本文將為您詳細介紹二叉樹的非遞歸先序遍歷算法,同時提供完整的C語言代碼示例。通過本文,您將了解到二叉樹的先序遍歷算法,以及非遞歸實現的方式。 一、二叉樹的先序遍歷算法介紹 在介紹二…

    編程 2025-04-28
  • Python如何遍歷列表

    在Python編程中,列表是一種常用的數據類型,它允許我們存儲多個值。但是,我們如何遍歷列表並對其中的每個值進行操作呢? 一、for循環遍歷列表 fruits = [‘apple’…

    編程 2025-04-28
  • Python遍歷字典刪除元素

    本文主要介紹Python中如何遍歷字典並刪除元素。在實際應用中,遍歷字典並刪除元素是一種非常常見的操作,但需要注意的是,直接在字典中刪除元素可能會改變字典中其他元素的索引順序,因此…

    編程 2025-04-28
  • Python遍歷文件夾中的shp文件

    對於GIS分析領域的開發工程師,遍歷文件夾中的shp文件是一個常見的需求。Python提供了一種非常便捷的方法來實現這個功能。本文將從以下幾個方面進行講解: 一、`os`模塊的使用…

    編程 2025-04-27
  • Python中遍歷字符串中的數字兩位數及其應用

    本文將從多個方面詳細闡述Python中遍歷字符串中的數字兩位數的應用及實現方法。 一、提取字符串中的數字兩位數 Python中提取字符串中的數字兩位數可以使用正則表達式,具體代碼如…

    編程 2025-04-27
  • Python中for循環遍歷列表

    本文將全方位詳細介紹Python中for循環遍歷列表的方法和技巧,幫助您更加深入理解並靈活運用Python中的for循環。 一、for循環遍歷列表的基礎用法 在Python中使用f…

    編程 2025-04-27
  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁盤中。在執行sync之前,所有的文件系統更新將不會立即寫入磁盤,而是先緩存在內存…

    編程 2025-04-25

發表回復

登錄後才能評論