3 回答

慕田峪4524236
TA貢獻1875條經驗 獲得超5個贊
假設有一種盤子,有很多,你一次只能搬得動一個,你有時要把它們一個一個摞起來放在一個墻角,有時候又要拿出去用。
想象下這種情況,是不是每次從那一摞盤子中只能拿最上面的呢,因為你只能每次搬動一個。如果你每次要放回盤子,是不是也只能放到最上面呢,除非把最上面的一個一個往下搬,然后一個一個搬回去,才能放到中間。
這個所謂的其實就是棧了。
至于你想說堆嘛,其實并不是一種數據結構,而是有一定的計算機組成的意味了,是一個邏輯上的概念,和棧不同,因為棧是一種數據結構。例如在操作系統里面會有系統堆,系統棧,在算法里面的堆排序里面也有大頭堆,小頭堆,其實只是一個概念,并不是數據結構,需要在特定的環境下理解。
比如說java中的棧就是指向對象存放的位置,而堆卻是由對象來創立的用來存放對象的相關屬性和方法。

慕斯709654
TA貢獻1840條經驗 獲得超5個贊
- 3 回答
- 0 關注
- 1641 瀏覽
添加回答
舉報
0/150
提交
取消