c++极简总结—STL stack,queue

1、STL stack

stack就是“栈” 是容器适配器的一种。栈是一种先进后出的元素序列,访问和删除都只能对栈顶的元素(即最后一个被加入栈的元素)进行,并且元素也只能被添加到栈顶。栈内的元素不能访问。如果一定要访问栈内的元素,只能将其上方的元素全部从栈中删除,使之变成栈顶元素才可以。

1.1 构造函数
  • stack<T> stk; //stack采用模板类实现, stack对象的默认构造形式
  • stack(const stack &stk); //拷贝构造函数
1.2 赋值操作
  • stack& operator=(const stack &stk); //重载等号操作符
1.3 数据存取:
  • push(elem); //向栈顶添加元素

  • pop(); //从栈顶移除第一个元素

  • top(); //返回栈顶元素

  • empty(); //判断堆栈是否为空

  • size(); //返回栈的大小

测试

void test_1()
{
    stack<int> s;
    s.push(10);
    s.push(11);
    while(!s.empty())
    {
        cout<<"栈的大小为:"<<s.size()<<endl;
        cout<<"栈顶元素为:"<<s.top()<<endl;
        s.pop();
    }
    cout<<"栈的大小为:"<<s.size()<<endl;
}

2、STL queue

queue 就是“队列”。队列是先进先出的,和排队类似。队头的访问和删除操作只能在队头进行,添加操作只能在队尾进行。不能访问队列中间的元素。队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为
queue 可以用 list 和 deque 实现,默认情况下用 deque 实现。

2.1 构造函数
  • queue<T> que; //queue采用模板类实现,queue对象的默认构造形式
  • queue(const queue &que); //拷贝构造函数
2.2 赋值操作
  • queue& operator=(const queue &que); //重载等号操作符
2.3 数据存取:
  • push(elem); //往队尾添加元素
  • pop(); //从队头移除第一个元素
  • back(); //返回最后一个元素
  • front(); //返回第一个元素
  • empty(); //判断堆栈是否为空
  • size(); //返回栈的大小

测试

void test_2()
{
    queue<int> q;
    q.push(1);
    q.push(4);
    q.push(6);
    q.push(9);
    cout<<"队列大小为:"<<q.size()<<endl;
    cout<<"队头元素为:"<<q.front()<<endl;
    cout<<"队尾元素为:"<<q.back()<<endl;
    q.pop();
    cout<<"队列大小为:"<<q.size()<<endl;
    cout<<"队头元素为:"<<q.front()<<endl;
    cout<<"队尾元素为:"<<q.back()<<endl;
}
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

FlyDremever

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

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

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

打赏作者

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

抵扣说明:

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

余额充值