简单数据结构 总结
一、栈(Stack)— stack
特点: 后进先出(LIFO),仅能在栈顶操作。
| 操作 | 说明 |
|---|---|
stack<int> sta; |
创建一个存储 int 类型元素的栈,命名为 sta |
sta.push(x) |
把 x 压入栈 |
sta.pop() |
弹出栈顶元素 |
sta.top() |
返回栈顶元素 |
sta.empty() |
栈是否为空,为空返回 true |
sta.size() |
当前栈大小 |
二、队列(Queue)— queue
特点: 先进先出(FIFO),仅能在队头和队尾操作。
| 操作 | 说明 |
|---|---|
queue<int> q; |
创建一个存储 int 类型元素的队列,命名为 q |
q.push(x) |
把 x 压入队列 |
q.pop() |
弹出队头元素 |
q.front() |
返回队头元素 |
q.back() |
返回队尾元素 |
q.empty() |
队列是否为空,为空返回 true |
q.size() |
当前队列大小 |
三、双端队列(Deque)— deque
特点: 双端操作,兼容队列与栈的特点。
| 操作 | 说明 |
|---|---|
deque<int> q; |
创建一个存储 int 的双端队列,命名为 q |
q.push_back(x) |
从队尾放入 x |
q.push_front(x) |
从队头放入 x |
q.pop_back() |
弹出队尾元素 |
q.pop_front() |
弹出队头元素 |
q.clear() |
清空双端队列,大小归零 |
q.front() |
返回队头元素 |
q.back() |
返回队尾元素 |
q.size() |
当前大小 |
q.empty() |
是否为空 |
四、向量 / 动态数组(Vector)— vector
特点: 动态大小,自动扩容,支持随机访问,尾部插入删除。
| 操作 | 说明 |
|---|---|
vector<int> v; |
定义存储 int 的动态数组 v,初始为空 |
vector<int> v[100]; |
定义 100 个动态数组,v[0] ~ v[99] |
v.push_back(x); |
添加元素 x 到末尾 |
v[pos] |
访问下标为 pos 的元素 |
v.clear() |
清空整个数组,大小归零 |
v.resize(100) |
把数组大小修改为 100 |
v.begin() |
起始位置迭代器 |
v.end() |
结束位置迭代器 |
v.empty() |
是否为空 |
v.size() |
当前大小 |
分类: 旧文档
· 更新时间 2026-8-7 16:54:42