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() 返回最后一个元素(不检测容器是否为空)

     

     

     

  • 相关阅读:
    端口扫描技术
    HBase——常用命令
    RabbitMQ——常用命令
    RabbitMQ——基于 KeepAlived + HAProxy 搭建 RabbitMQ 高可用负载均衡集群
    RabbitMQ——安装、集群搭建、镜像队列配置
    Zookeeper——常用命令
    MFC子对话框嵌入主对话框
    Find a way
    Avoid The Lakes
    变形课
  • 原文地址:https://www.cnblogs.com/wkfvawl/p/8666192.html
Copyright © 2011-2022 走看看