C++ 的 Standard Template Library (STL) 是一个高效且通用的模板类库,包含了许多常用的数据结构和算法。要使用 STL,你需要包含相应的头文件,并根据需要使用相应的数据结构和算法。
以下是一些基本的 STL 用法:
向量是动态数组,可以连续存储元素并在末尾添加或删除元素。
#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 <list>
int main() {
std::list<int> lst;
lst.push_back(1);
lst.push_back(2);
lst.push_back(3);
for (std::list<int>::iterator it = lst.begin(); it != lst.end(); ++it) {
std::cout << *it << " ";
}
return 0;
}
集合中的元素按键值排序且不重复。
#include<iostream>
#include <set>
int main() {
std::set<int> s;
s.insert(3);
s.insert(1);
s.insert(4);
s.insert(1); // 重复插入,不会有影响
for (std::set<int>::iterator it = s.begin(); it != s.end(); ++it) {
std::cout << *it << " ";
}
return 0;
}
映射是一种关联式容器,它存储的元素是键值对,其中键不能重复。
#include<iostream>
#include <map>
int main() {
std::map<std::string, int> m;
m["apple"] = 1;
m["banana"] = 2;
m["orange"] = 3;
for (std::map<std::string, int>::iterator it = m.begin(); it != m.end(); ++it) {
std::cout << it->first << ": " << it->second << "\n";
}
return 0;
}
STL 还提供了许多常用的算法,如排序、查找等。
#include<iostream>
#include<vector>
#include<algorithm>
int main() {
std::vector<int> vec;
vec.push_back(3);
vec.push_back(1);
vec.push_back(4);
std::sort(vec.begin(), vec.end());
for (int i = 0; i < vec.size(); ++i) {
std::cout<< vec[i] << " ";
}
return 0;
}
这只是 STL 的一些基本用法,实际上 STL 提供了更多的功能和算法,你可以根据需要选择使用。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。