標準模板庫(STL)是 C++ 標準庫的核心部分,提供了一套高效、通用的容器、算法與迭代器。本文簡要介紹 STL 的主要組件與基本用法。
vector、list、deque、set、map 等。<algorithm>。| 容器 | 特點 | 適用場景 |
|---|---|---|
vector | 動態陣列,隨機訪問 O(1),尾部增刪 O(1) | 需要快速隨機訪問、主要在尾部操作 |
list | 雙向鏈表,任意位置增刪 O(1),不支援隨機訪問 | 頻繁在中間插入/刪除 |
deque | 雙端隊列,首尾增刪 O(1),隨機訪問 O(1) | 需要在兩端高效操作 |
set/map | 基於紅黑樹,有序、唯一,查找/插入/刪除 O(log n) | 需要有序、無重複鍵值的集合或映射 |
unordered_set/map | 哈希表,平均 O(1) 查找/插入/刪除,無序 | 不需有序、追求極致查找速度 |
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> v = {5, 2, 8, 1, 9};
sort(v.begin(), v.end()); // 排序
for (int x : v) cout << x << ' '; // 1 2 5 8 9
cout << endl;
return 0;
}
STL 還提供了函數對象、適配器、記憶體分配器等進階機制,掌握這些能寫出更高效、更通用的代碼。建議深入閱讀《C++ Standard Library》或《Effective STL》以系統性學習。