栈(stack)
#include <stack>
int main() {
stack<int> s;
s.push(3);
s.push(7);
s.push(1);
cout << s.size() << " ";//栈的大小
cout << s.top() << " ";
s.pop();//删除栈顶元素
bool isEmpty = s.empty();
}
队列(queue)
#include <queue>
int main() {
queue<string> q;
q.push("red");
q.push("yellow");
cout << q.size() << " ";
cout << q.front() << " ";
q.pop();//删除元素
bool isEmpty = q.empty();
}
vector
column1 | column2 | column3 |
content1 | content2 | content3 |
函数名 | 功能 | 复杂度 |
size() | 返回向量的元素数 | O(1) |
push_back(x) | 向向量末尾添加元素x | O(1) |
pop_back() | 删除向量的最后一个元素 | O(1) |
begin() | 返回指向向量开头的迭代器 | O(1) |
end() | 返回指向向量末尾的迭代器 | O(1) |
insert(p,x) | 向向量的位置p处插入元素x | O(n) |
erase( p ) | 删除向量位置p的元素 | O(n) |
clear() | 删除向量中所有元素 | O(n) |
#include <vector>
int main() {
vector<int> v = {1, 3, 2, 4};
v.push_back(9);
v.insert(v.begin() + 2, 6);
v.pop_back();
v.erase(v.end() - 2);
}
双向链表(list)
函数名 | 功能 | 复杂度 |
size() | 返回表的元素数 | O(1) |
push_front(x) | 向表开头添加元素x | O(1) |
push_back(x) | 向表末尾添加元素x | O(1) |
pop_front() | 删除表开头的元素 | O(1) |
pop_back() | 删除表的最后一个元素 | O(1) |
insert(p,x) | 向表的位置p处插入元素x | O(1) |
erase( p ) | 删除表位置p的元素 | O(1) |
clear() | 删除表中所有元素 | O(n) |
Comments | 0 条评论