进步始于交流
收获源于分享

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
赞(0) 打赏
未经允许不得转载:Coologic » QQueue与QStack使用

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏