C++ Vector初始化

一、定義和構造函數

C++中的vector是一個類模板,它是一種動態數組,支持在數組的尾部增加或刪除元素。在使用vector進行初始化時,有兩種常見的方法。

第一種是使用定義和構造函數。定義和構造一個vector可以使用以下語法:

vector<int> myVector; //定義一個空的vector
vector<int> myVector(10); //定義一個大小為10的vector
vector<int> myVector(10, 3); //定義一個大小為10且每個元素都是3的vector
vector<int> myVector = {1, 2, 3, 4, 5}; //定義一個包含5個元素,值分別為1, 2, 3, 4, 5的vector

其中,第一行定義了一個空的vector,第二行定義了一個大小為10的vector,每個元素都是默認值0,第三行定義了一個大小為10且每個元素都是3的vector,第四行定義了一個包含5個元素,值分別為1,2,3,4,5的vector。

二、插入和刪除元素

除了定義和構造函數,vector還支持插入和刪除元素的操作。這些操作有以下幾種:

①在尾部插入元素:

vector<int> myVector{1, 2, 3};
myVector.push_back(4); //將4插入到vector的尾部

在尾部插入元素是vector中最常見的操作之一,使用push_back函數可以方便地在尾部插入元素。

②在指定位置插入元素:

vector<int> myVector{1, 2, 3};
myVector.insert(myVector.begin() + 1, 4); //在位置1插入元素4

使用insert函數可以在vector的指定位置插入元素。insert函數接收兩個參數,第一個參數是要插入的位置,第二個參數是要插入的元素。

③刪除尾部元素:

vector<int> myVector{1, 2, 3};
myVector.pop_back(); //刪除尾部元素

使用pop_back函數可以刪除vector的尾部元素。

④刪除指定位置元素:

vector<int> myVector{1, 2, 3};
myVector.erase(myVector.begin() + 1); //刪除位置1的元素

使用erase函數可以刪除vector的指定位置元素。erase函數接收一個參數,表示要刪除的位置。

三、遍歷和訪問元素

C++中的vector支持使用下標訪問元素和遍曆元素的操作。

①使用下標訪問元素:

vector<int> myVector{1, 2, 3};
int a = myVector[0]; //訪問第一個元素
myVector[1] = 4; //修改第二個元素的值

使用下標可以方便地訪問vector的元素,並修改元素的值。

②使用迭代器遍曆元素:

vector<int> myVector{1, 2, 3};
for (auto it = myVector.begin(); it != myVector.end(); ++it) {
    cout << *it << endl;
}

使用迭代器可以遍歷vector的所有元素。vector的begin函數返回的是一個指向第一個元素的迭代器,end函數返回的是一個指向序列末尾的迭代器。

四、總結

C++中的vector是一種常用的數據結構,支持動態數組的操作。在使用vector進行初始化時,需要注意定義和構造函數的使用。除此之外,還需要掌握插入和刪除元素、遍歷和訪問元素的操作。

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
GSAND的頭像GSAND
上一篇 2025-04-12 01:12
下一篇 2025-04-12 01:13

相關推薦

  • Go中struct的初始化

    本文將從多個方面詳細闡述Go中struct的初始化方式,包括使用字面量初始化、使用new函數初始化以及使用構造函數等。通過本文的介紹,讀者能夠更深入的了解Go中struct的初始化…

    編程 2025-04-28
  • Java的vector用法詳解

    一、vector的用法 java中的vector是可變長度的動態數組,類似於c++中的vector。可以存儲任何數據類型,但需要保證類型一致。下面是一個vector的使用示例: i…

    編程 2025-04-25
  • c++ vector頭文件詳解

    一、vector介紹 vector是c++ STL(Standard Template Library)中的一個容器,它能夠動態地增加或減少容器的大小,並且支持快速的隨機訪問。ve…

    編程 2025-04-24
  • C# Dictionary初始化的詳解

    一、基礎認識 C#中的Dictionary是一種鍵值對存儲的數據類型,可以根據鍵(Key)訪問對應的值(Value),它是.NET Framework中的常用類之一。創建Dicti…

    編程 2025-04-23
  • JS初始化詳解

    JavaScript是一門動態的、基於事件驅動的編程語言,可以使網頁在用戶交互時產生動態特效和更好的交互性。JS的初始化是網頁中必不可少的一環,好的初始化可以提高網頁的加載速度和用…

    編程 2025-04-23
  • vector初始化賦值詳解

    一、基礎概念 vector是一個封裝了動態大小數組的順序容器(Sequence Container)。與C-style數組不同,它能夠根據需要自動擴展,它是連續存儲的,與數組一樣高…

    編程 2025-04-22
  • 深入探析vector添加元素

    一、初始化vector 1、動態初始化vector 使用vector時,我們需要先將其初始化,vector可以有多種初始化方式。其中動態初始化是指我們需要在程序運行時才能確定vec…

    編程 2025-04-12
  • Kotlinlateinit:深入理解 Kotlin 的延遲初始化屬性

    Kotlinlateinit 是 Kotlin 延遲初始化屬性的一個重要概念。在一些情況下,Kotlin 允許我們在聲明屬性時使用 lateinit 關鍵字,來將屬性的初始化推遲到…

    編程 2025-04-12
  • 詳解vector的reserve函數

    一、概述 在C++的STL中,vector是一種很常用的容器,它可以存放任意類型的數據,並且可以動態增加或減少元素個數。其中,reserve函數是vector的一個重要函數,它可以…

    編程 2025-04-12
  • 深入剖析vector的長度

    一、長度的定義 Vector是C++標準庫中一個非常重要的容器,它可以動態地增加或減少存儲在其中的元素,而且還能夠在O(1)的時間複雜度下實現常數時間的隨機訪問。Vector中有一…

    編程 2025-02-25

發表回復

登錄後才能評論