博客地址已更改,文章數量較多不便批量修改,若想訪問源文請到 coologic博客 查閱,網址:www.coologic.cn
如本文記錄地址為 techieliang.com/A/B/C/ 請改為 www.coologic.cn/A/B/C/ 即可查閱
版權聲明:若無來源注明, Techie亮博客文章均為原創。 轉載請以鏈接形式標明本文標題和地址:
本文標題:QQueue與QStack使用 本文地址: http://techieliang.com/2017/12/576/
1. 介紹
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
2. 簡單范例
所有父類方法均可使用,可參見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
轉載請以鏈接形式標明本文標題和地址:
Techie亮博客 »
QQueue與QStack使用
