App下載

C++ vector:使用動(dòng)態(tài)數(shù)組管理數(shù)據(jù)

一級(jí)內(nèi)心戲表演藝術(shù)家 2023-06-12 11:12:36 瀏覽數(shù) (1634)
反饋

在 C++ 中,我們經(jīng)常需要處理一些不確定長(zhǎng)度的數(shù)據(jù)集合。而 ?vector? 是一個(gè)非常實(shí)用的容器類,它可以讓我們方便地管理動(dòng)態(tài)數(shù)組,并提供了豐富的操作方法。

下面就來(lái)看看如何使用 ?vector? 實(shí)現(xiàn)一些具體的功能。

   1. 初始化 vector

我們可以通過(guò)以下方式來(lái)初始化一個(gè) ?vector?:

#include <vector>
std::vector<int> v; // 初始化一個(gè)空 vector std::vector<int> v{1, 2, 3}; // 初始化一個(gè)包含 1、2、3 的 vector

   2. 添加元素

我們可以使用 ?push_back()? 方法向 ?vector? 中添加元素:

std::vector<int> v;
v.push_back(1); v.push_back(2); v.push_back(3);

此時(shí),v 中的元素為 {1, 2, 3}。

   3. 訪問(wèn)元素

我們可以使用 ?[]? 運(yùn)算符或 ?at()? 方法來(lái)訪問(wèn) ?vector? 中的元素:

std::vector<int> v{1, 2, 3};
int a = v[0]; // a = 1 int b = v.at(1); // b = 2

需要注意的是,如果使用 ?[]? 運(yùn)算符訪問(wèn)越界的元素,程序?qū)?huì)崩潰。而 ?at()? 方法會(huì)拋出 ?out_of_range? 異常。

   4. 修改元素

我們可以直接使用 ?[]? 運(yùn)算符或 ?at()? 方法修改 ?vector? 中的元素:

std::vector<int> v{1, 2, 3};
v[0] = 4; // v 現(xiàn)在為 {4, 2, 3} v.at(1) = 5; // v 現(xiàn)在為 {4, 5, 3}

   5. 刪除元素

我們可以使用 ?erase()? 方法刪除 ?vector? 中的元素:

std::vector<int> v{1, 2, 3};
v.erase(v.begin() + 1); // 刪除第二個(gè)元素,v 現(xiàn)在為 {1, 3}

需要注意的是,?erase()? 方法會(huì)使后面的元素往前移動(dòng)一個(gè)位置。

   6. 清空 vector

我們可以使用 ?clear()? 方法清空 ?vector? 中的元素:

std::vector<int> v{1, 2, 3};
v.clear(); // v 現(xiàn)在為空

   7. 獲取 vector 的大小

我們可以使用 ?size()? 方法獲取 ?vector? 中元素的個(gè)數(shù):

std::vector<int> v{1, 2, 3};
int size = v.size(); // size = 3

通過(guò)上述實(shí)例,我們可以看到 ?vector? 提供了方便的方法來(lái)管理動(dòng)態(tài)數(shù)組。它不僅可以保存基本類型,還可以保存對(duì)象、結(jié)構(gòu)體等復(fù)雜數(shù)據(jù)類型。因此,在 C++ 開(kāi)發(fā)中,?vector? 是一個(gè)非常常用的容器類。

如果您還是C++初學(xué)者,可以先來(lái)試試 C++入門課程 ,零基礎(chǔ)也能學(xué)習(xí)C++!


C++

0 人點(diǎn)贊