棧和隊列是兩種常用的、重要的資料結構。
棧和隊列是限定插入和删除隻能在表的 “端點” 進行的線性表。
普通線性表的插入:如果插入位置未在最後,則需要移動元素
在删除時,如果删除位置不是最後一個,則需要在删除後進行元素遷移。
棧:後進先出
隊列:先進先出
棧就是具有後進先出的特性 ,使得棧稱為程式設計中的有用工具。另外,如果問題求解的過程具有“後進先出”的天然特性的話,則求解的算法中必然需要利用“棧”。
如:數值轉換,
由于隊列操作具有先進先出的特性,是的隊列成為程式設計中解決類似排隊問題的有用工具
脫機列印輸出:按申請的先後順序依次輸出
多使用者系統中,多個使用者排成隊,分時地循環使用cpu和主存
按使用者的優先級排成多個隊,每個優先級一個隊列
實施控制系統中,信号按接收的先後順序依次處理
網絡電文傳輸,按到達的時間先後順序依次進行
棧和隊列是限定插入和删除,隻能在表的“端點”進行的線性表