STL(Standard Template Library)是C++中的標(biāo)準(zhǔn)模板庫(kù),包含了許多常用的容器和算法,可以幫助我們快速地實(shí)現(xiàn)各種數(shù)據(jù)結(jié)構(gòu)和算法。在本教程中,我們將介紹STL中常用的容器和算法,并給出示例代碼。
STL中的容器可以分為序列容器和關(guān)聯(lián)容器兩大類(lèi),其中序列容器包括vector、deque、list、queue、stack等,關(guān)聯(lián)容器包括set、map、multiset、multimap等。
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec;
// 添加元素
vec.push_back(1);
vec.push_back(2);
vec.push_back(3);
// 遍歷元素
for (int i = 0; i < vec.size(); i++) {
std::cout << vec[i] << " ";
}
return 0;
}
#include <iostream>
#include <map>
int main() {
std::map<std::string, int> m;
// 添加元素
m["apple"] = 3;
m["banana"] = 5;
m["orange"] = 2;
// 遍歷元素
for (auto it = m.begin(); it != m.end(); it++) {
std::cout << it->first << ": " << it->second << std::endl;
}
return 0;
}
STL中的算法包括查找、排序、拷貝等常用操作,可以幫助我們對(duì)容器進(jìn)行各種操作。
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 查找元素
auto it = std::find(vec.begin(), vec.end(), 3);
if (it != vec.end()) {
std::cout << "Found: " << *it << std::endl;
} else {
std::cout << "Not found" << std::endl;
}
return 0;
}
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec = {3, 1, 4, 1, 5, 9, 2, 6};
// 排序
std::sort(vec.begin(), vec.end());
// 遍歷元素
for (int i = 0; i < vec.size(); i++) {
std::cout << vec[i] << " ";
}
return 0;
}
以上是STL中常用的容器和算法示例,希望能幫助你更好地理解和使用STL。在實(shí)際編程中,可以根據(jù)具體需求選擇合適的容器和算法來(lái)完成任務(wù)。