STL数据结构小结

来源:互联网 发布:java打印功能代码 编辑:程序博客网 时间:2024/06/07 11:03

STL数据结构

1.队列 queue –> 优先队列 priority_queue
2.栈 stack
3.向量 vector
4.双向链表 list
5.集合 set –> 可重复集合 multiset
6.映射map

队列

先进先出
push(x) 将x加入队列
pop( ) 将第一位移除队列
front( ) 队头元素
back( ) 队尾元素
size( ) 队列元素个数
empty( ) 判断队列是否为空

优先队列

大顶堆
priority_queue <int>
小顶堆
priority_queue <int,vector<int>,greater<int> >

push(x) 向队列中插入x[O(logN)]
pop( ) 删除开头元素[O(logN)]
top( ) 访问开头元素[O(logN)]

先进后出
top() 栈顶元素
pop( ) 删除栈顶元素
push(x) 将x添加到栈顶
size( ) 栈元素数
empty( ) 判断栈是否为空

向量

不定长数组
size( ) 向量元素数
push_back(x)将x添加到末尾
pop_back( )删除最后一个元素
begin( ) 返回指向向量开头的迭代器
end( ) 返回指向向量末尾的迭代器——左闭右开
insert(p,x) 在向量位置p处插入x【O(N)】
erase(p) 删除向量中位置p处的元素【O(N)】
clear( ) 删除向量中所有的元素【O(N)】

双向链表

不可用【】
size( ) 返回链表元素个数
begin( ) 返回指向开头的迭代器
end( ) 返回指向末尾的迭代器——前闭后开
push_back(x) 在链表末尾添加元素x
push_front(x)在链表开头添加元素x
pop_back( )将位于链表末尾的元素删去
pop_front( )将位于链表开头的元素删去
insert(p,x)将元素x插入至p处
earse(p)将位于p处的元素删去
claer( )删去所有元素【O(N)】
sort( )给list排序

集合

size( ) 返回集合元素个数
begin( ) 返回集合的开头
end( ) 返回集合的末尾
insert(x) 加入元素x
earse(x) 删除元素x
find(x) 寻找键值与x相同的元素【O(logN)】
若找不到,返回end()
clear( ) 清空集合【O(N)】

可重复集合

multiset
insert(x) 加入元素x
earse(x) 把键值为x的元素全部删除
size( ) 返回集合元素个数
end( ) 返回集合的结尾
begin( ) 返回集合的开头
clear( ) 清空集合【O(N)】

映射

O(logN)
size( ) 返回集合元素个数
begin( ) 返回集合的开头
end( ) 返回集合的末尾
insert(x) 加入元素x
earse(x) 删除元素x
find(x) 寻找键值与x相同的元素【O(logN)】
若找不到,返回end()
clear( ) 清空集合【O(N)】

原创粉丝点击