1. 程式人生 > >棧和佇列、堆、堆疊的區別?

棧和佇列、堆、堆疊的區別?

佇列是先進先出,有出口和入口,先進去可以先出來。

棧就像一個箱子,後放上去的,可以先出來

堆是在程式執行時,而不是在程式編譯時,申請某個大小的記憶體空間。即動態分配記憶體,對其訪問和對一般記憶體的訪問沒有區別。{堆是指程式執行是申請的動態記憶體,而棧只是指一種使用堆的方法(即先進後出)。

棧是先進後出的,但是於堆而言卻沒有這個特性,兩者都是存放臨時資料的地方。 對於堆,我們可以隨心所欲的進行增加變數和刪除變數,不要遵循什麼次序,只要你喜歡。

堆(Heap)是應用程式在執行的時候請求作業系統分配給自己記憶體。