QQueue与QStack使用

介绍

QQueue是Qt的队列实现,符合先进先出FIFO,继承自QList,可以使用QList所有方法,但不建议使用,属于QQueue的方法有

T dequeue()
void enqueue(const T &t)
T &head()
const T &head() const
void swap(QQueue<T> &other)

QStack是Qt的栈实现,符合后进先出LIFO,继承自QVector,可以使用QVector所有方法,但不建议食用,属于QStack的方法有

T pop()
void push(const T &t)
void swap(QStack<T> &other)
T &top()
const T &top() const

简单范例

所有父类方法均可使用,可参见QList使用下面例子仅对比分析

QQueue<int> m_queue;
m_queue.enqueue(1);
m_queue.enqueue(2);
m_queue.enqueue(3);
qDebug()<<m_queue.size();
qDebug()<<m_queue.dequeue();
qDebug()<<m_queue.dequeue();
qDebug()<<m_queue.dequeue();
qDebug()<<m_queue.size();
QStack<int> m_stack;
m_stack.push(1);
m_stack.push(2);
m_stack.push(3);
qDebug()<<m_stack.size();
qDebug()<<m_stack.pop();
qDebug()<<m_stack.pop();
qDebug()<<m_stack.pop();
qDebug()<<m_stack.size();

结果

3
1
2
3
0
3
3
2
1
0

| 版权声明: 本站文章采用 CC 4.0 BY-SA 协议 进行许可,转载请附上原文出处链接和本声明。
| 本文链接: Cologic Blog - QQueue与QStack使用 - https://www.coologic.cn/2017/12/576/

留下评论