• 9-queue


    在C++中只要#include<queue>即可使用队列类,其中在面试或笔试中常用的成员函数如下(按照最常用到不常用的顺序)

    1. push

    2. pop

    3. size

    4. empty

    5. front

    6. back

    接下来逐一举例说明:

    1. push

    队列中由于是先进先出,push即在队尾插入一个元素,如:

    1 queue<string> q;
    2 q.push("Hello World!");
    3 q.push("China");
    4 cout<<q.front()<<endl;

    可以输出:Hello World!

    2. pop

    将队列中最靠前位置的元素拿掉,是没有返回值的void函数。如:

    1 queue<string> q;
    2 q.push("Hello World!");
    3 q.push("China");
    4 q.pop();
    5 cout<<q.front()<<endl;

    可以输出:China

    原因是Hello World!已经被除掉了。

    3. size

    返回队列中元素的个数,返回值类型为unsigned int。如:

    queue<string> q;
    cout<<q.size()<<endl;
    q.push("Hello World!");
    q.push("China");
    cout<<q.size()<<endl;

    输出两行,分别为0和2,即队列中元素的个数。

    4. empty

    判断队列是否为空的,如果为空则返回true。如:

    1 queue<string> q;
    2 cout<<q.empty()<<endl;
    3 q.push("Hello World!");
    4 q.push("China");
    5 cout<<q.empty()<<endl;

    输出为两行,分别是1和0。因为一开始队列是空的,后来插入了两个元素。

    5. front

    返回值为队列中的第一个元素,也就是最早、最先进入队列的元素。注意这里只是返回最早进入的元素,并没有把它剔除出队列。如:

    复制代码
    1 queue<string> q;
    2 q.push("Hello World!");
    3 q.push("China");
    4 cout<<q.front()<<endl;
    5 q.pop();
    6 cout<<q.front()<<endl;
    复制代码

    输出值为两行,分别是Hello World!和China。只有在使用了pop以后,队列中的最早进入元素才会被剔除。

    6. back

    返回队列中最后一个元素,也就是最晚进去的元素。如:

    1 queue<string> q;
    2 q.push("Hello World!");
    3 q.push("China");
    4 cout<<q.back()<<endl;

    输出值为China,因为它是最后进去的。这里back仅仅是返回最后一个元素,也并没有将该元素从队列剔除掉。

    其他的方法不是很常用,就不再研究了。

    接下来我们使用链表,自己将queue类写出来,将其所有方法都实现。代码都是自己写的,最后随便写了点main函数小测一下,没有发现问题,如果有不足还望能指正。如下:

     队列实现
     
  • 相关阅读:
    Spring面试,IoC和AOP的理解
    WEB打印(jsp版)
    Spring事务管理机制的实现原理-动态代理
    spring面试题
    oracle PLSQL基础学习
    oracle创建表空间
    WM_CONCAT字符超过4000的处理办法
    Oracle 数据泵使用详解
    Oracle 数据泵详解
    linux下启动oracle
  • 原文地址:https://www.cnblogs.com/zhumengdexiaobai/p/8444267.html
Copyright © 2020-2023  润新知