QQueue與QStack使用

版權聲明:若無來源註明, Techie亮博客文章均爲原創。 轉載請以連接形式標明本文標題和地址:
本文標題:QQueue與QStack使用     本文地址: http://techieliang.com/2017/12/576/

1. 介紹

QQueue是Qt的隊列實現,符合先進先出FIFO,繼承自QList,可使用QList全部方法,但不建議使用,屬於QQueue的方法有app

  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的方法有post

  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使用下面例子僅對比分析spa

  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使用
相關文章
相關標籤/搜索