C++队列


queue是C ++中最常用的容器之一。容器是一种存储对象集合的数据结构,有些是有序的,有些则不是。所有容器都有一组不同的功能,允许您访问该集合中的对象。

std::queue是C ++标准库的一部分(因此前缀为std:: ,允许您以先入先出(FIFO)顺序存储数据。注意: 队列中的所有对象必须具有相同的数据类型

存储在队列中的数据类型位于queue关键字旁边的尖括号内。例如,如果要存储整数集合,则队列将为std::queue<int> queue_name

队列LIFO解释

queue允许我们按特定顺序推送/排队和弹出/出列。 推送 意味着在队列的前面插入一个对象。 Pop 意味着从队列末尾拉出“最旧的”对象。所以当你推动它在前面时,当你弹出时,你提取最旧的元素。

队列操作

队列容器支持以下操作:

  • push(入队)
  • pop(出队)
  • empty
  • size
  • front
  • back

push

允许您在队列末尾的当前最后一个元素之后插入一个新元素。

//Push operation in Queue
 #include <iostream>       // std::cout
 #include <queue>          // std::queue

 int main ()
 {
  std::queue<int> q;

  q.push(1);    //Pushing 1 at front of the queue
  q.push(2);    //Pushing 2 at front of the queue

  return 0;
 }

front

允许您访问队列中的下一个元素而不删除它。 下一个元素是队列中“最旧的”元素。

//Front operation in Queue
 #include <iostream>       // std::cout
 #include <queue>          // std::queue

 int main ()
 {
  std::queue<int> q;

  q.push(1);    //Pushing 1 at front of the queue
  q.push(2);    //Pushing 2 at front of the queue

  std::cout<<q.front()<<'\n';     //Accessing the front of the queue
  std::cout<<q.front()<<'\n';     //Accessing the front of the queue

  return 0;
 }
Output:
 1
 1

pop

允许您删除队列中的下一个元素,有效地将其大小减小一个。 删除的元素是“最旧的”元素。

//Pop operation in Queue
 #include <iostream>       // std::cout
 #include <queue>          // std::queue

 int main ()
 {
  std::queue<int> q;

  q.push(1);    //Pushing 1 at front of the queue
  q.push(2);    //Pushing 2 at front of the queue

  std::cout<<q.front()<<'\n';     //Accessing the front of the queue
  q.pop();                        //Removing the oldest element
  std::cout<<q.front()<<'\n';     //Accessing the front of the queue
  q.pop();                        //Removing the oldest element

  return 0;
 }
Output:
 1
 2

尺寸

返回queue的元素数。

//Size operation in Queue
 #include <iostream>       // std::cout
 #include <queue>          // std::queue

 int main ()
 {
  std::queue<int> q;

  q.push(1);    //Pushing 1 at front of the queue
  q.push(2);    //Pushing 2 at front of the queue

  std::cout<<q.size()<<'\n';     //Accessing the front of the queue
  q.pop();                        //Removing the oldest element
  std::cout<<q.size()<<'\n';     //Accessing the front of the queue
  q.pop();                        //Removing the oldest element
  std::cout<<q.size()<<'\n';     //Accessing the front of the queue

  return 0;
 }
Output:
 2
 1
 0

更多C++教程

学习更多C++教程