如何用鏈表實(shí)現(xiàn)棧 用C語言的鏈表實(shí)現(xiàn)棧的基本操作,代碼怎么寫啊?哪位大神能提供完整代碼啊?
用C語言的鏈表實(shí)現(xiàn)棧的基本操作,代碼怎么寫???哪位大神能提供完整代碼???定義一個push(參數(shù)堆棧數(shù)據(jù),鏈接列表頂部的指針)函數(shù),該函數(shù)負(fù)責(zé)堆棧操作并返回一個指針,該指針始終指向最新的鏈接列表節(jié)點(diǎn)。{
用C語言的鏈表實(shí)現(xiàn)棧的基本操作,代碼怎么寫啊?哪位大神能提供完整代碼啊?
定義一個push(參數(shù)堆棧數(shù)據(jù),鏈接列表頂部的指針)函數(shù),該函數(shù)負(fù)責(zé)堆棧操作并返回一個指針,該指針始終指向最新的鏈接列表節(jié)點(diǎn)。
{
malloc()應(yīng)用于內(nèi)存塊;
將堆棧數(shù)據(jù)存儲在內(nèi)存塊中,將新內(nèi)存塊的下一個指針指向鏈表的頂部指針;
返回新內(nèi)存塊指針;
}
定義get(參數(shù)獲取存儲變量,鏈表的頂部指針)函數(shù),它負(fù)責(zé)獲取最新的棧數(shù)據(jù),并在獲取后返回下一個鏈表節(jié)點(diǎn)的地址。將提取的數(shù)據(jù)分配給傳入的提取存儲變量。釋放訪問列表節(jié)點(diǎn)的內(nèi)存。
{
獲取數(shù)據(jù)以存儲鏈接列表頂部指針對應(yīng)的節(jié)點(diǎn)的數(shù)據(jù);
定義指針Z;
Z=鏈接列表頂部的指針->next;
釋放鏈接列表頂部指針對應(yīng)的內(nèi)存;
返回Z;
]}]~]/*創(chuàng)建鏈表數(shù)據(jù)結(jié)構(gòu)*/typedef struct s{int d struct s*next}堆棧/*定義堆棧頂部的指針*/stack*top=null/*放入堆棧*/void push(int I){stack*PS=(stack*)malloc(sizeof(stack))PS->D=I PS->next=top=PS}/*堆棧外*/void pop(){if(! 頂部)返回堆棧*temp=Top=Top->next free(temp)}