在學習了基本的數據結構和矩陣運算之後,現在將再深入探索C++標準模板庫(STL)中的三個重要容器:vector、list和map。這些容器提供了強大的數據管理和操作功能,是很多AI算法和模型實現的基石。
vector
vector是一個動態陣列,允許快速的隨機存取並在末尾追加或移除元素。
#include <vector>
#include <iostream>
std::vector<int> v = {1, 2, 3, 4, 5};
v.push_back(6); // 在末尾添加元素
v.pop_back(); // 移除最後一個元素
for(int i : v) {
std::cout << i << std::endl;
}
list
list是一個雙向連結列表,適合於需要頻繁插入和刪除操作的情境。
#include <list>
#include <iostream>
std::list<int> l = {1, 2, 3, 4, 5};
l.push_front(0); // 在前面添加元素
l.push_back(6); // 在末尾添加元素
l.pop_front(); // 移除第一個元素
for(int i : l) {
std::cout << i << std::endl;
}
map
map是一個由鍵和值組成的元素集合,每個鍵都關聯到一個值。鍵是獨一無二的,通常用於快速查找。
#include <map>
#include <iostream>
std::map<std::string, int> ages;
ages["Alice"] = 30;
ages["Bob"] = 25;
std::cout << "Alice's age: " << ages["Alice"] << std::endl;
在AI中的應用
總結
透過本文的介紹,已經對C++中常用的數據容器有了初步的了解。這些容器不僅使數據管理和操作變得簡單,而且是很多AI模型和算法的基石。