QQueue與QStack使用


博客地址已更改,文章數量較多不便批量修改,若想訪問源文請到 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的方法有

  1. T dequeue()
  2. void enqueue(const T &t)
  3. T &head()
  4. const T &head() const
  5. void swap(QQueue<T> &other)

QStack是Qt的棧實現,符合后進先出LIFO,繼承自QVector,可以使用QVector所有方法,但不建議食用,屬於QStack的方法有

  1. T pop()
  2. void push(const T &t)
  3. void swap(QStack<T> &other)
  4. T &top()
  5. const T &top() const

2. 簡單范例

所有父類方法均可使用,可參見QList使用下面例子僅對比分析

  1. QQueue<int> m_queue;
  2. m_queue.enqueue(1);
  3. m_queue.enqueue(2);
  4. m_queue.enqueue(3);
  5. qDebug()<<m_queue.size();
  6. qDebug()<<m_queue.dequeue();
  7. qDebug()<<m_queue.dequeue();
  8. qDebug()<<m_queue.dequeue();
  9. qDebug()<<m_queue.size();
  10. QStack<int> m_stack;
  11. m_stack.push(1);
  12. m_stack.push(2);
  13. m_stack.push(3);
  14. qDebug()<<m_stack.size();
  15. qDebug()<<m_stack.pop();
  16. qDebug()<<m_stack.pop();
  17. qDebug()<<m_stack.pop();
  18. qDebug()<<m_stack.size();

結果

  1. 3
  2. 1
  3. 2
  4. 3
  5. 0
  6. 3
  7. 3
  8. 2
  9. 1
  10. 0
轉載請以鏈接形式標明本文標題和地址: Techie亮博客 » QQueue與QStack使用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM