浏览 49
扫码
STL(Standard Template Library)是C++中的标准模板库,包含了许多常用的容器和算法,可以帮助我们快速地实现各种数据结构和算法。在本教程中,我们将介绍STL中常用的容器和算法,并给出示例代码。
容器
STL中的容器可以分为序列容器和关联容器两大类,其中序列容器包括vector、deque、list、queue、stack等,关联容器包括set、map、multiset、multimap等。
1. vector
#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;
}
2. map
#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中的算法包括查找、排序、拷贝等常用操作,可以帮助我们对容器进行各种操作。
1. find
#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;
}
2. sort
#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。在实际编程中,可以根据具体需求选择合适的容器和算法来完成任务。