深入探討vector遍歷

一、vector遍歷方法

//聲明一個vector
std::vector vec{1, 2, 3, 4};
//方法1:使用下標
for(int i = 0; i < vec.size(); ++i){
    std::cout << vec[i] << ' ';
}
//方法2:使用迭代器
for(auto it = vec.begin(); it != vec.end(); ++it){
    std::cout << *it << ' ';
}
//方法3:使用範圍for循環
for(auto i : vec){
    std::cout << i << ' ';
}

vector是一種動態數組,其具有可變大小的數組容器,使用vector遍歷一般有三種方法,分別是使用下標、使用迭代器和使用範圍for循環。使用下標訪問比其他方法稍微快一些,但需要注意邊界問題;使用迭代器比較安全,可以訪問vector中的任何元素;使用範圍for循環代碼簡潔,但不能修改vector中元素的值。

二、vector遍歷刪除

1. vector遍歷刪除對象c

//聲明一個vector
std::vector vec{'A', 'B', 'C', 'D'};
//迭代器遍歷vector刪除對象C
for(auto it = vec.begin(); it != vec.end();){
    if(*it == 'C'){
        it = vec.erase(it);
    }else{
        ++it;
    }
}

在遍歷vector時,如果需要刪除某個對象,可以使用vector中的erase函數進行刪除。但是如果直接從vector中刪除會改變vector的大小,導致迭代器失效,從而遍歷不能正常完成。解決方法是使用迭代器的erase函數刪除對象,遍歷完成後才進行刪除,這樣就不會改變vector的大小。

2. vector遍歷後要刪除元素

//聲明一個vector
std::vector vec{1, 2, 3, 4};
//迭代器遍歷vector後刪除所有數據
for(auto it = vec.begin(); it != vec.end();){
    it = vec.erase(it);
}

在遍歷結束後,如果需要刪除vector中的所有元素,也可以使用迭代器的erase函數進行刪除。需要注意的是,erase函數會返回一個迭代器,指向刪除後的下一個對象,因此需要將迭代器重新賦值。

三、vector函數

1. vector erase

//聲明一個vector
std::vector vec{1, 2, 3, 4};
//迭代器遍歷vector刪除下標為2的元素
vec.erase(vec.begin() + 2);

可以使用vector中的erase函數來刪除vector中的元素,其參數可以是一個迭代器或一個指向vector中某個元素的指針地址,也可以指定刪除的元素數量。

2. vector刪除最後一個元素

//聲明一個vector
std::vector vec{1, 2, 3, 4};
//使用pop_back刪除最後一個元素
vec.pop_back();

如果僅需要刪除vector中的最後一個元素,可以使用pop_back函數,該函數會將vector中的最後一個元素刪除。

四、總結

本文從vector的遍歷方法、刪除操作以及常用函數三個方面深入探討了vector的使用。對於vector的遍歷,我們可以使用下標、迭代器和範圍for循環三種方法,需要根據實際情況進行選擇。在遍歷過程中,如果需要刪除某個元素,可以使用迭代器的erase函數進行刪除。如果需要刪除整個vector中的所有元素,需要在遍歷完成後再進行刪除。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/280495.html

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

相關推薦

  • 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
  • 深入解析Vue3 defineExpose

    Vue 3在開發過程中引入了新的API `defineExpose`。在以前的版本中,我們經常使用 `$attrs` 和` $listeners` 實現父組件與子組件之間的通信,但…

    編程 2025-04-25

發表回復

登錄後才能評論