App下載

如何在C++中使用動(dòng)態(tài)數(shù)組?C++ vector介紹

伸手挽明月 2023-06-14 09:47:19 瀏覽數(shù) (1285)
反饋

C++ vector是一種動(dòng)態(tài)數(shù)組,可以根據(jù)需要自動(dòng)調(diào)整大小。vector的優(yōu)點(diǎn)是可以高效地訪問(wèn)和修改元素,而不需要管理內(nèi)存分配。vector的缺點(diǎn)是插入和刪除元素可能會(huì)導(dǎo)致性能下降,因?yàn)樾枰苿?dòng)其他元素或重新分配內(nèi)存。本文將介紹vector的基本用法和常見(jiàn)操作。

要使用vector,首先需要包含頭文件,然后聲明一個(gè)vector對(duì)象,指定其元素的類(lèi)型。例如,要?jiǎng)?chuàng)建一個(gè)存儲(chǔ)整數(shù)的vector,可以這樣寫(xiě):

#include <vector>
std::vector<int> v;

這樣就創(chuàng)建了一個(gè)空的vector,沒(méi)有任何元素。要向vector中添加元素,可以使用push_back()方法,將元素追加到vector的末尾。例如,要向v中添加1, 2, 3, 可以這樣寫(xiě):

v.push_back(1);
v.push_back(2);
v.push_back(3);

這樣v就變成了{(lán)1, 2, 3}。要訪問(wèn)vector中的元素,可以使用下標(biāo)運(yùn)算符[],指定元素的索引。索引從0開(kāi)始,到size()-1結(jié)束。size()方法返回vector中的元素個(gè)數(shù)。例如,要打印v中的第一個(gè)和最后一個(gè)元素,可以這樣寫(xiě):

std::cout << v[0] << std::endl; // 輸出1
std::cout << v[v.size()-1] << std::endl; // 輸出3

要修改vector中的元素,也可以使用下標(biāo)運(yùn)算符[],給元素賦新值。例如,要將v中的第二個(gè)元素改為4,可以這樣寫(xiě):

v[1] = 4;

這樣v就變成了{(lán)1, 4, 3}。要?jiǎng)h除vector中的元素,可以使用pop_back()方法,將最后一個(gè)元素彈出并返回。例如,要?jiǎng)h除v中的最后一個(gè)元素,并打印它,可以這樣寫(xiě):

int x = v.pop_back();
std::cout << x << std::endl; // 輸出3

這樣v就變成了{(lán)1, 4}。要在vector中的任意位置插入或刪除元素,可以使用insert()和erase()方法,指定插入或刪除的位置。位置用迭代器表示,迭代器是一種指向容器中元素的指針。要獲取vector中某個(gè)位置的迭代器,可以使用begin()和end()方法,分別返回指向第一個(gè)和最后一個(gè)元素之后的迭代器。還可以使用加減法運(yùn)算符對(duì)迭代器進(jìn)行偏移。例如,要在v中的第二個(gè)位置插入5,并刪除第一個(gè)位置的元素,可以這樣寫(xiě):

v.insert(v.begin()+1, 5); // 在第二個(gè)位置插入5
v.erase(v.begin()); // 刪除第一個(gè)位置的元素

這樣v就變成了{(lán)5, 4}。除了上述操作外,vector還提供了一些其他方法和屬性,如clear()清空所有元素,empty()判斷是否為空,capacity()返回分配的內(nèi)存大小等。更多信息可以參考官方文檔或相關(guān)教程。

總之,C++ vector是一種方便而強(qiáng)大的容器類(lèi),可以用來(lái)存儲(chǔ)和操作任意類(lèi)型的數(shù)據(jù)。通過(guò)掌握vector的基本用法和常見(jiàn)操作,可以提高編程效率和質(zhì)量。

C++相關(guān)課程推薦 C++相關(guān)課程

C++

0 人點(diǎn)贊