zoukankan      html  css  js  c++  java
  • C++ STL栈和队列

    在C++标准库(STL)中,实现了栈和队列,方便使用,在这里我整理了一下笔记,作简要介绍。

    1,栈(stack):

    头文件 : #include<stack>

    定义栈 :stack<Type> s; 其中Type为数据类型(如 int,float,char)。

    主要操作:

    s.push(item); //将item压入栈顶

    s.pop(); //删除栈顶的元素,但不会返回

    s.top(); //返回栈顶的元素,但不会删除

    s.size(); //返回栈中元素的个数

    s.empty(); //检查栈是否为空,如果为空返回true,否则返回false

    2,队列(queue):

    头文件 : #include<queue>

    定义队列: queue<Type> q; 其中Type为数据类型(如 int,float,char)。

    主要操作:

    q.push(item) //将item压入队列尾部

    q.pop() //删除队首元素,但不返回

    q.front() //返回队首元素,但不删除

    q.back() //返回队尾元素,但不删除

    q.size() //返回队列中元素的个数

    q.empty() //检查队列是否为空,如果为空返回true,否则返回false

     

     

    3,双端队列

    头文件:#include <deque>deq 

    定义双端队列:deque<Type> deq 其中Type为数据类型(如 int,float,char)

    deq.assign(n,elem) 赋值n个元素的拷贝给双端队列

    deq.assign(beg,end) 赋值一段迭代器的值给双端队列

    deq.push_front(elem) 添加一个元素在开头

    deq.push_back(elem) 添加一个元素在结尾

    deq.pop_front() 删除第一个元素

    deq.pop_back() 删除最后一个元素

    deq.at(index) 取固定位置的元素

    deq[index] 取固定位置的元素

    deq.front() 返回第一个元素(不检测容器是否为空)

    deq.back() 返回最后一个元素(不检测容器是否为空)

     

     

     

  • 相关阅读:
    list和set的区别
    day13
    11期
    接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法?
    Object类?
    swith的用法和注意事项?
    Ioc和DI的区别?
    多态的好处?
    抽象和接口的区别?
    内部类,匿名内部类?
  • 原文地址:https://www.cnblogs.com/wkfvawl/p/8666192.html
Copyright © 2011-2022 走看看