一、vector c的簡介
vector c是一種動態數組,可以自動調整大小,並且支持常數時間的隨機訪問。它是C++標準模板庫中的一部分,可以通過#include <vector>引入。
使用vector c的好處在於,它可以自動管理內存,而且可以像普通數組一樣使用下標來訪問元素,減少了工作量。
下面是示例代碼:
#include <vector>
using namespace std;
int main() {
vector<int> arr;
arr.push_back(1);
arr.push_back(2);
arr.push_back(3);
for (int i = 0; i < arr.size(); i++) {
cout << arr[i] << endl;
}
return 0;
}
二、vector c的聲明和初始化
聲明vector c的語法如下:
vector<type> name;
其中,type是vector c中元素的類型,可以是任意類型的數據,name是vector c的變數名。
vector c的初始化方法有很多種,下面是幾個常用的初始化方法:
方法1:通過列表初始化
vector<int> arr = {1, 2, 3};
方法2:通過拷貝構造函數初始化
vector<int> arr1 = {1, 2, 3};
vector<int> arr2(arr1);
方法3:通過指定元素個數和元素值進行初始化
vector<int> arr(3, 1); // 初始化為{1, 1, 1}
三、vector c的基本操作
1. 插入元素
在vector c中插入元素有兩種方式:使用push_back()方法在末尾插入元素,使用insert()方法在指定位置插入元素。
示例代碼如下:
vector<int> arr = {1, 2};
arr.push_back(3); // arr變為{1, 2, 3}
arr.insert(arr.begin(), 0); // 在開頭插入元素0,arr變為{0, 1, 2, 3}
2. 刪除元素
在vector c中刪除元素也有兩種方式:使用pop_back()方法刪除末尾元素,使用erase()方法刪除指定位置的元素。
示例代碼如下:
vector<int> arr = {1, 2, 3};
arr.pop_back(); // arr變為{1, 2}
arr.erase(arr.begin()); // 刪除第一個元素,arr變為{2}
3. 訪問元素
在vector c中訪問元素可以使用下標運算符[],也可以使用迭代器。
示例代碼如下:
vector<int> arr = {1, 2, 3};
cout << arr[0] << endl; // 輸出1
for (vector<int>::iterator it = arr.begin(); it != arr.end(); it++) {
cout << *it << endl;
}
四、vector c的高級用法
1. 定義結構體類型的vector
在vector c中也可以存儲結構體類型的元素,示例代碼如下:
struct Person {
string name;
int age;
};
vector<Person> persons = {{"Tom", 18}, {"Jerry", 20}};
2. 排序vector
在vector c中可以使用sort()方法對vector進行排序,示例代碼如下:
vector<int> arr = {3, 2, 1};
sort(arr.begin(), arr.end());
3. 判斷vector是否包含某個元素
在vector c中可以使用find()方法來判斷vector是否包含某個元素,示例代碼如下:
vector<int> arr = {1, 2, 3};
if (find(arr.begin(), arr.end(), 2) != arr.end()) {
cout << "2 is in the vector" << endl;
}
五、總結
以上是關於vector c的詳細介紹和使用方法,使用vector c可以方便地實現動態數組的功能,並且減少了管理內存的工作量,建議大家多多嘗試使用。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/247177.html
微信掃一掃
支付寶掃一掃