一、queue:队列
队列是一种先进先出的数据结构,是一个模板类。队列和栈是一种数据逻辑概念,即数据能进行的操作。
主要区别是:队列先进先出(First In First Out),栈后进先出。
链表和顺序表是一种数据存放方式,主要区别是:链表有节点,通过指针找到下一个节点,因此在内存中链表数据不需要连续存放;顺序表则是连续存放,通过第一个元素就可以找到其他元素。
二、C++中的队列
需要头文件 #include<queue>
queue<int> q; //定义一个int型队列,其他常用基本类型都可以定义
q.empty(); //返回队列是否为空
q.size(); //返回当前队列长度
q.front(); //返回当前队列的第一个元素
q.back(); //返回当前队列的最后一个元素
q.push(); //在队列后面插入一个元素
q.pop(); //从当前队列里移出第一个元素
三、Qt中的队列
Qt中的队列存放在头文件 #include<QQueue>中,方法和C++差不多。
QQueue<QString> q; //定义一个QString型队列,其他常用基本类型都可以定义
q.isEmpty(); //返回队列是否为空
q.size(); //返回队列元素个数
q.clear(); //清空队列
q.enqueue(); //在队列尾部添加一个元素,比如q.enqueue("string");
q.dequeue(); //删除当前队列第一个元素,并返回这个元素
q.head(); //返回当前队列第一个元素
q.last(); //返回当前队列尾部的元素