C++所有数据结构STL代码
时间: 2023-10-12 10:15:25 浏览: 103
以下是 C++ STL 中常用的数据结构的代码:
### vector (动态数组)
```cpp
#include <vector>
using namespace std;
vector<int> v; // 声明一个空的 vector
// 添加元素
v.push_back(1);
v.push_back(2);
v.push_back(3);
// 访问元素
v[0]; // 1
v[1]; // 2
v[2]; // 3
// 遍历元素
for(int i = 0; i < v.size(); i++) {
cout << v[i] << " ";
}
```
### stack (栈)
```cpp
#include <stack>
using namespace std;
stack<int> s; // 声明一个空的栈
// 添加元素
s.push(1);
s.push(2);
s.push(3);
// 访问元素
s.top(); // 3
// 弹出栈顶元素
s.pop(); // 移除 3
// 栈是否为空
s.empty(); // false
```
### queue (队列)
```cpp
#include <queue>
using namespace std;
queue<int> q; // 声明一个空的队列
// 添加元素
q.push(1);
q.push(2);
q.push(3);
// 访问队首元素
q.front(); // 1
// 弹出队首元素
q.pop(); // 移除 1
// 队列是否为空
q.empty(); // false
```
### priority_queue (优先队列)
```cpp
#include <queue>
using namespace std;
priority_queue<int> pq; // 声明一个空的优先队列
// 添加元素
pq.push(1);
pq.push(3);
pq.push(2);
// 访问队首元素
pq.top(); // 3
// 弹出队首元素
pq.pop(); // 移除 3
// 优先队列是否为空
pq.empty(); // false
```
### map (映射/字典)
```cpp
#include <map>
using namespace std;
map<string, int> mp; // 声明一个空的映射
// 添加元素
mp["one"] = 1;
mp["two"] = 2;
mp["three"] = 3;
// 访问元素
mp["two"]; // 2
// 遍历元素
for(auto it = mp.begin(); it != mp.end(); it++) {
cout << it->first << " " << it->second << endl;
}
```
### set (集合)
```cpp
#include <set>
using namespace std;
set<int> s; // 声明一个空的集合
// 添加元素
s.insert(1);
s.insert(2);
s.insert(3);
// 访问元素
*s.find(2); // 2
// 遍历元素
for(auto it = s.begin(); it != s.end(); it++) {
cout << *it << " ";
}
```
以上是 C++ STL 中常用的数据结构的代码示例,可以根据实际需要进行调整和改进。
阅读全文