天天看點

3.1 棧和隊列的定義和特點

棧和隊列是兩種常用的、重要的資料結構。

棧和隊列是限定插入和删除隻能在表的 “端點” 進行的線性表。

普通線性表的插入:如果插入位置未在最後,則需要移動元素

在删除時,如果删除位置不是最後一個,則需要在删除後進行元素遷移。

棧:後進先出

隊列:先進先出

棧就是具有後進先出的特性 ,使得棧稱為程式設計中的有用工具。另外,如果問題求解的過程具有“後進先出”的天然特性的話,則求解的算法中必然需要利用“棧”。

如:數值轉換,

3.1 棧和隊列的定義和特點

由于隊列操作具有先進先出的特性,是的隊列成為程式設計中解決類似排隊問題的有用工具

脫機列印輸出:按申請的先後順序依次輸出

多使用者系統中,多個使用者排成隊,分時地循環使用cpu和主存

按使用者的優先級排成多個隊,每個優先級一個隊列

實施控制系統中,信号按接收的先後順序依次處理

網絡電文傳輸,按到達的時間先後順序依次進行

棧和隊列是限定插入和删除,隻能在表的“端點”進行的線性表