一、實驗目的
1、掌握棧的順序儲存及鏈式儲存實現,並實現進棧與出棧操作;
2、掌握佇列的順序儲存及鏈式儲存實現,並實現入隊與出隊操作。
二、實驗作業
在給出部分**的基礎上完成:
1.在順序棧儲存體上,編寫進棧與出棧函式,在主函式呼叫進棧與出棧,實現若干次的進棧與出棧操作。
2.在鏈棧儲存體上,編寫進棧與出棧函式,在主函式呼叫進棧與出棧,實現若干次的進棧與出棧操作。
3.在迴圈順序隊儲存體上,編寫入隊與出隊函式,在主函式呼叫入隊與出隊,實現若干次的入隊與出隊操作。
4.在鏈隊儲存體上,編寫入隊與出隊函式,在主函式呼叫入隊與出隊,實現若干次的入隊與出隊操作
三、實驗內容
1、
seqstack push(seqstack l,int x)
return l;
} seqstack pop(seqstack l)
return l;
}
2、
node* push(node* top,int x)
node* pop(node* top)
return top;
}
3、
sequeue inqueque(sequeue l,int x)
return l;
} sequeue outqueque(sequeue l)
return l;
}
4、
linkqueue inqueque(linkqueue l,int x)
linkqueue outqueque(linkqueue l)
else
} return l;
}
四、實驗結果(實驗結果截圖)
五、實驗心得
棧和佇列的基本操作
看歐立奇的 程式設計師面試寶典 的棧和佇列的部分,發現了部分問題。其中棧的部分,不能簡單的用malloc函式來初始化stack,應該呼叫create 函式 而且棧的base應該指向棧的最下面的資料的下乙個位址。全部除錯通過 棧的部分通過單鏈表來實現鏈棧的結構 include using namesp...
棧和佇列的基本操作
一種特殊的的線性表,只允許在固定的一端進行插入和刪除操作。棧被稱作是先進後出的線性表。只允許在一端進行插入資料操作,在另一端刪除資料操作的特殊線性表。具有先進先出的特性。迴圈佇列 簡單了解 隊空 rear front 隊滿 rear 1 maxsize front 初始化 銷毀 增 刪 查 type...
棧和佇列的基本操作
資料結構 棧和佇列的基本操作 棧的基本操作 include include define true 1 define false 0 define ok 1 define error 1 define overflow 2 define stack init size 100 define stac...