常用STL
程序员文章站
2022-07-12 16:40:43
...
vector
有迭代器 可随机访问
vector x; int t;
-
x.push_back(t); //把t插入到x的尾部
-
x.pop(); // 删除x的最后一个元素
-
x,empty(); // x是否为空 是返回true 否返回flase
-
x.clear(); //清空x
-
x.size(); //x的长度(元素个数)
-
x.begin(); //返回第一个元素的迭代器
x.end(); //返回最后一个元素下一个位置的迭代器
即二者是一个前闭后开区间 -
x.front() //返回x的第一个元素
x.back() //返回x的最后一个元素
set & multiset
有迭代器 不可随机访问 自动按ASCII码排序
set --> 有序集合 不重复 //类比数学中集合的互斥性
multiset --> 多重有序集合 即可重复
set x ; multiset y ; int t;
- x.insert(t) //插入一个元素 二者用法相同
- x.find(t) //查询t是否存在 存在则返回指向该元素的迭代器 否则 返回
x.end()
3. x.count(t) //返回元素t的个数
4. clear() size() empty() x.begin() x.end(); 与vector类似
stack 先入后出
没有迭代器 不可随机访问
stack x ; int t ;
1. x.push(t) ; //向栈顶插入t 注意: 尾部叫做栈顶
2. x.pop(t) ; //删除栈顶元素
3. size() empty() 与vector类似 但没有clear() 操作
queue 先入先出 (循环队列)
没有迭代器 不可随机访问
queue x ; int t;
1. x.front() //返回队头元素
2. x.pop() //将队头弹出 即删除最先进入的元素
3. x.push(t) //将t插入队尾
4. x.back() //返回队尾元素
5. size() empty() 与vector类似 但没有clear() 操作