Vector 實戰教學

1. vector 的基本操作

定義與初始化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <vector>
using namespace std;

int main() {
// 定義一個空的 vector
vector<int> vec;

// 定義並初始化
vector<int> vec2 = {1, 2, 3, 4, 5};

// 定義固定大小的 vector,初始值為 0
vector<int> vec3(5, 0); // 5 個元素,每個元素初始值為 0

// 輸出 vec2 的內容
for (int x : vec2) {
cout << x << " ";
}

return 0;
}

輸出:

1
1 2 3 4 5

2. 動態增加和刪除元素

增加元素

  • 使用 push_back() 在尾部添加元素。
  • 使用 insert() 在特定位置插入元素。

刪除元素

  • 使用 pop_back() 刪除尾部元素。
  • 使用 erase() 刪除指定位置的元素。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <vector>

using namespace std;

int main() {
vector<int> vec = {1, 2, 3, 4, 5};

// 在尾部添加元素
vec.push_back(6);

// 在位置 2 插入元素 10
vec.insert(vec.begin() + 2, 10);

// 刪除尾部元素
vec.pop_back();

// 刪除位置 2 的元素
vec.erase(vec.begin() + 2);

// 輸出內容
for (int x : vec) {
cout << x << " ";
}

return 0;
}

輸出:

1
1 2 3 4 5

3. 常用方法與屬性

方法

方法名功能
push_back(value)在尾部添加一個元素
pop_back()刪除尾部元素
insert(pos, value)pos 位置插入一個元素
erase(pos)刪除 pos 位置的元素
clear()刪除所有元素
size()返回當前元素數量
empty()判斷是否為空
resize(n, value)調整大小為 n,多出部分用 value 填充(默認為 0)
front()返回第一個元素
back()返回最後一個元素
at(index)返回索引 index 處的元素,帶範圍檢查

範例:檢查方法的用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <vector>

using namespace std;

int main() {
vector<int> vec = {1, 2, 3, 4, 5};

// 大小和是否為空
cout << "Size: " << vec.size() << endl;
cout << "Is empty: " << (vec.empty() ? "Yes" : "No") << endl;

// 訪問元素
cout << "First element: " << vec.front() << endl;
cout << "Last element: " << vec.back() << endl;
cout << "Element at index 2: " << vec.at(2) << endl;

// 清空 vector
vec.clear();
cout << "Size after clear: " << vec.size() << endl;

return 0;
}

輸出:

1
2
3
4
5
6
Size: 5
Is empty: No
First element: 1
Last element: 5
Element at index 2: 3
Size after clear: 0