隊列的操作(1)隊列的一些常用的操作創建隊列銷毀隊列清空隊列進隊列出隊列獲取隊頭元素獲取隊列元素 隊列的順序存儲實現
寫代碼



隊列的鏈式存儲實現(1)鏈式存儲實現







順序隊列的瓶頸(1)順序隊列線性表的第一個元素作為隊頭線性表表的最后一個元素作為隊尾(2)入隊的新元素是在線性表的最后,時間復雜度為O(1)(3)出隊時需要將后續的所有元素向前移動,時間復雜度為O(n)問題:如何將出隊的時間復雜度降為O(1)?順序隊列的優化方案(1)定義front使其始終代表隊頭的下標出隊時將隊頭元素返回,且front++(2)定義rear使其始終代表隊尾下一個元素的下標入隊時將新元素插入,且rear++沒有必要只將下標為0的位置定義為隊頭
寫代碼





鏈式隊列的瓶頸(1)鏈式隊列線性表的第一個元素作為隊頭線性表的最后一個元素作為隊尾(2)入隊的新元素是在線性表的最后,時間復雜度為O(n)(3)出隊的元素即鏈表的第一個元素,時間復雜度O(1)問題:如何將入隊操作的時間復雜度降低到O(1)鏈式隊列的優化方案(1)定義rear指針始終指向鏈表中的最后一個元素入隊時將新元素通過rear插入隊尾,且將rear指向新元素








棧與隊列











新聞熱點
疑難解答