成长随心记12(C++容器,stack,queue,list)

本文详细介绍了C++标准库中的三种容器——stack、queue和list。stack作为后进先出(LIFO)结构,提供push、pop和top等操作;queue则遵循先进先出(FIFO)原则,支持push、pop及front、back访问。list是一个双向链表,支持高效插入和删除,同时提供了多种操作如assign、resize、insert、erase等。这些容器在实际编程中扮演重要角色。
摘要由CSDN通过智能技术生成

4,stack容器
功能:与数据结构的栈类似
限制:不能遍历数据,只能访问栈顶元素

1)stack构造函数
函数原型:
stack<T>stk//默认构造形式
stack(const stack &stk)//拷贝构造

2)stack赋值操作
函数原型:
stack& operator=(const stack& stk)//重载等号操作符

3)stack数据存取
函数原型:
stack.push(elem)//向栈顶添加元素
stack.pop()//从栈顶删除第一个元素
stack.top()//返回栈顶元素

4)stack大小操作
函数原型:
stack.empty()//判空
stack.size()//返回栈大小


------------------------------------------------------------------------------------------------------------------------------    

5,queue容器
功能:与数据结构的队列类似
限制:只能访问队头和队尾元素
1)queue构造函数
函数原型:
queue<T> que//默认构造
queue(const queue& que)//拷贝构造

2)queue赋值操作
函数原型:
queue& operator(const queue &que)//重载等号操作符

3)queue数据存取
函数原型:
queue.push()//队尾添加元素
queue.pop()//队头删除元素
queue.back()//返回队尾元素
queue.front()//返回队头元素

4)queue大小操作
queue.empyt()//判空
queue.size()//返回队列大小


------------------------------------------------------------------------------------------------------------------------------    

6,list容器
功能:与数据结构的链表(双向链表)类似,具有链表的优缺点
性质:插入和删除操作不会造成list迭代器失效,vector中会失效(vector是重新分配空间)

1)list构造函数
函数原型:
list<T>lst//默认构造
list(beg,end)//将[beg,end)区间的数据拷贝给本身
list(n,elem)//将n个elem拷贝给本身
list(const list &lst)//拷贝构造函数

2)list赋值和交换
函数原型:
assign(beg,end)//将[beg,end)区间的数据拷贝给本身
assign(n,elem)//将n个elem拷贝给本身
list& operator=(const list& lst)//重载等号赋值操作
swap(lst)//交换lst与本身的元素

3)list大小操作
函数原型:
list.empty()//判断容器是否为空
list.size()//返回容器元素个数
list.resize(num)//重新指定容器的长度为num,如果过长,则以默认值填充,如果过短,则删除超长部分
list.resize(int num,elem)//重新指定容器的长度为num,如果过长,则以elem填充,如果过短,则删除超长部分

4)list插入和删除
函数原型:
push_back(elem)//在容器尾部加入一个数据
push_front(elem)//在容器头部加入一个数据
pop_back()//删除容器中最后一个数据
pop_front()//删除容器中第一个数据
insert(pos,elem)//在pos位置插入elem元素,返回新数据的位置
insert(pos,n,elem)//在pos位置插入n个elem元素,无返回值
insert(pos,beg,end)//在pos位置插入[beg,end)区间的数据,无返回值
clear()//清空所有数据
erase(beg,end)//删除[beg,end)区间的数据,返回下一个数据位置
erase(pos)//删除pos位置数据,返回下一数据位置
remove(elem)//删除容器内所有elem值匹配的元素

5)list数据存取
front()//返回第一个数据
back()//返回最后一个数据

6)list的反转和排序
reverse()//容器内元素的反转
sort()//容器内元素的排序


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

噌105

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值