順序棧和鏈棧的區別是什么?
存儲結構不同:
鏈棧動態分配內存存儲數據,不浪費內存,存儲的數據不連續。
順序棧使用固定大小數組保存數據,數據量小時浪費內存,過多時出問題,存儲數據連續。
它們的具體區別如下:
順序棧的實現在于使用了數組這個基本數據結構,數組中的元素在內存中的存儲位置是連續的,且編譯器要求我們在編譯期就要確定數組的大小,這樣對內存的使用效率并不高,一來無法避免因數組空間用光而引起的溢出問題。在系統將內存分配給數組后,則這些內存對于其他任務就不可用。而對于鏈棧而言,使用了鏈表來實現棧,鏈表中的元素存儲在不連續的地址,由于是動態申請內存,所以我們可以以非常小的內存空間開始,另外當某個項不使用時也可將內存返還給系統。
上一篇是先找工作還是先租房
下一篇華為又開始使用聯發科芯片