C++STL常用容器的增删改查函数

目录

一.vector容器

 1.构造函数

2.赋值

3.容量与大小

4.插入与删除

 5.数据读取

6.排序

 二.deque容器(同vector)

 新特性:

删除特性:

三.stack容器

四.queue容器(同stack)

五.list容器(同deque)

新特性

六.set容器(不允许插重复值)

1.构造和赋值

2.大小

3.插入、删除与查找

4.自定义排序

七.map容器(元素为对组)

1.构造和赋值

2.大小

3.插入、删除和查找

4.排序


一.vector容器

 1.构造函数

vector<T> v默认构造函数
vector<T> u (v.begin() , v.end())将v[begin,end)区间的元素赋值给u
vector<T> v (n,elem)将n个elem赋值给v
vector<T> u (v)拷贝构造函数

2.赋值

vector& operator=(const vector<T>&v)等号运算符重载
u.assign(v.begin() , v.end())将v[begin,end)赋值给u
u.assign(n , elem)将n个elem赋值给u

3.容量与大小

empty()判断容器是否为空
capacity()获取容器容量
size()获取容器元素个数
resize(int num)容器大小,若变小,则截断;若变大,则填充默认值
resize(int num , int elem)同上,以elem元素填充

4.插入与删除

push_back(elem)尾部插入元素elem
pop_back()尾部删除元素
insert(const_iterator pos , elem)在迭代器pos前插入elem元素
insert(const_iterator pos , int num , elem)在迭代器pos前插入num个elem元素
insert(const_iterator pos , const_iterator begin , const_iterator end)在迭代器pos前插入[begin,end)区间的元素
erase(const_iterator begin , const_iterator end)删除迭代器[begin,end)之间的元素
erase(const_iterator pos)

删除迭代器pos指向元素

clear()清除所有元素

 5.数据读取

at(int index)返回index所指数据
operater[ ]运算符重载,返回索引所指数据
front()

返回第一个元素

back()返回最后一个元素

6.排序

 导入头文件

#include<algorithm>
sort(const_iterator begin , const_iterator begin)对[begin,end)元素升序排序

 二.deque容器(同vector)

 新特性:

push_front(elem)头部插入元素
pop_front(elem)头部删除元素

删除特性:

删除函数 capacity( )

三.stack容器

stack<T> s默认构造函数
stack(const stack&s)拷贝构造函数
stack& operator=(const stack&s)重载赋值符号
push(elem)入栈
pop()出栈
top()返回栈顶元素
empty()判断是否为空
size()返回栈元素个数

四.queue容器(同stack)

注意:

front()返回队列头元素

五.list容器(同deque)

新特性

未重载运算符 [ ]
remove(elem)删除链表中与elem相同的元素
reverse()反转链表
l.sort()升序排序(非全局函数)
l.sort(cmp)制定排序方式(非全局函数)

六.set容器(不允许插重复值)

1.构造和赋值

set<T> s默认构造函数
set(const set&s)拷贝构造函数
sst& operator=(const set&s)重载赋值符号

2.大小

empty()判断是否为空
size()返回set元素个数

3.插入、删除与查找

insert(elem)

插入elem元素

erase(const_iterator begin , const_iterator end)删除迭代器[begin,end)之间的元素
erase(const_iterator pos)

删除迭代器pos指向元素

erase(elem)删除elem元素
clear()清除所有元素
find(key)查找是否存在键值为key的元素,并返回该元素迭代器,不存在返回end()

4.自定义排序

class myCmp {
public:
	bool operator()(int a, int b) const{
		return a < b;
	}
};
int main() {
	set<int, myCmp> s;
	return 0;
};

七.map容器(元素为对组)

1.构造和赋值

map<T,T>m默认构造函数
map(const map&m)拷贝构造函数
operator=(const map&m)赋值运算符重载

2.大小

empty()判断是否为空
size()返回map元素个数

3.插入、删除和查找

insert(elem)

插入elem元素

erase(const_iterator begin , const_iterator end)删除迭代器[begin,end)之间的元素
erase(const_iterator pos)

删除迭代器pos指向元素

erase(key)删除键值为key的元素
clear()清除所有元素
find(key)查找是否存在键值为key的元素,并返回该元素迭代器,不存在返回end()

4.排序

参照set容器排序方法,不再赘述。注意,排序是针对键值排序!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值