黑马c++ STL部分 笔记(6) queue 容器

简介: 黑马c++ STL部分 笔记(6) queue 容器

queue是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口

队列容器允许从一端新增元素,从另一端移除元素

队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为

队列中进数据称为 — 入队 push

队列中出数据称为 — 出队 pop

97592bdc84f241fa8b79899dc34f2865.jpg

// queue常用接口
/*
构造函数:
queue<T> que; //queue采用模板类实现,queue对象的默认构造形式
queue(const queue &que); //拷贝构造函数
赋值操作:
queue& operator=(const queue &que); //重载等号操作符
数据存取:
push(elem); //往队尾添加元素
pop(); //从队头移除第一个元素
back(); //返回最后一个元素
front(); //返回第一个元素
大小操作:
empty(); //判断堆栈是否为空
size(); //返回栈的大小
*/
#include <bits/stdc++.h>
using namespace std;
class person
{
public:
  person(string name, int age)
  {
    this->name = name;
    this->age = age;
  }
  string name;
  int age;
};
void test01()
{
  queue<person> q;
  person p1("A", 10);
  person p2("B", 20);
  person p3("C", 30);
  person p4("D", 40);
  // 入队
  q.push(p1);
  q.push(p2);
  q.push(p3);
  q.push(p4);
  // 队列不为空,查看队头,查看队尾,出队
  cout << q.size() << endl; // 4
  while (!q.empty())
  {
    cout << q.front().name << " " << q.front().age << endl;
    cout << q.back().name << " " << q.back().age << endl;
    q.pop();
  }
  cout << q.size(); // 0
}
int main()
{
  test01();
}
/*
总结:
入队 — push
出队 — pop
返回队头元素 — front
返回队尾元素 — back
判断队是否为空 — empty
返回队列大小 — size
*/


相关文章
|
1天前
|
设计模式 存储 C++
【C++/STL】:stack/queue的使用及底层剖析&&双端队列&&容器适配器
【C++/STL】:stack/queue的使用及底层剖析&&双端队列&&容器适配器
20 2
|
1天前
|
编译器 C++ 容器
【C++/STL】:list容器的深度剖析及模拟实现
【C++/STL】:list容器的深度剖析及模拟实现
8 2
|
19小时前
|
编译器 C语言 C++
C++ STL中list迭代器的实现
C++ STL中list迭代器的实现
C++ STL中list迭代器的实现
|
1天前
|
存储 C++ 容器
【C++/STL】:list容器的基本使用
【C++/STL】:list容器的基本使用
6 1
|
19小时前
|
C++ 容器
【C++航海王:追寻罗杰的编程之路】queue
【C++航海王:追寻罗杰的编程之路】queue
5 0
|
19小时前
|
C++ 容器
【C++】学习笔记——stack和queue
【C++】学习笔记——stack和queue
3 0
|
20小时前
|
C++
【C++航海王:追寻罗杰的编程之路】STL—next_permutation函数
【C++航海王:追寻罗杰的编程之路】STL—next_permutation函数
4 0
|
1天前
|
安全 编译器 C++
【C++】学习笔记——类和对象_5
【C++】学习笔记——类和对象_5
17 9
|
1天前
|
编译器 C++
【C++】学习笔记——类和对象_4
【C++】学习笔记——类和对象_4
13 6
|
1天前
|
存储 编译器 C++
【C++】学习笔记——类和对象_3
【C++】学习笔记——类和对象_3
14 6