棧的基本操作(C語言)
一.棧的含義以及應用:
1.含義:棧(stack)是限定僅在表的一段進行插入刪除操作的線性表。
2.數據進出順序為:先進后出,和彈夾壓入的子彈一樣,先壓進去的最后才能射出;
3.應用場景:網頁瀏覽時的后退編輯軟件中的“撤銷”;
二.棧的存儲結構的選擇:
1.數組:選用數組來做棧的存儲結構,只需要在數組末尾進行操作即可,完美的避開了數組操作中挪動數據的缺陷,顯然可以選擇數組來做棧的存儲結構
2.單鏈表:因為棧是在線性表的一段進行操作,所以得想想實在鏈表頭操作,還是在鏈表尾操作。
如果選用鏈表尾,那每次都得找到鏈表尾部,不方便(是可以設置尾指針,但是就多了一個尾指針得空間);
如果選用鏈表頭,那每次只需要在鏈表頭操作即可,操作更為方便。