鏈棧 棧的鏈式表示和實現

2021-10-03 06:39:42 字數 960 閱讀 4260

用鏈表示的棧的基本操作:

#include#include#define maxsize 1000	//鍊錶的最大長度 

#define selemtype int

#define status int

//棧的結構

typedef struct lstacklstack,*lstacklist;

//初始化

status initstack(lstacklist &s)

//入棧

status push(lstacklist &s,selemtype e)

//出棧

status pop(lstacklist &s)else

} //建立棧,就是重複的將元素入棧(當然也可以單獨寫乙個建立的函式)

void creat(lstacklist &s,int n)

printf("\n");

} //獲取棧的元素個數

status stacklength(lstacklist s)

printf("棧內元素個數為:%d\n",count);

} //判斷棧空

bool stackempty(lstacklist s)else

} //獲取棧頂元素

status gettop(lstacklist s,selemtype e)else

} //棧置空

status clearstack(lstacklist &s)

//銷毀鍊錶

status destorystack(lstacklist &s)

printf("銷毀鍊錶成功\n");

鏈式表示的棧 鏈式棧2 進製轉換

利用鍊錶模擬棧實現十進位制數2015轉換為對應的八進位制數。分析 一般情況下,把十進位制轉換為八進位制 二進位制等可以使用輾轉相除法,例如將十進位制數2015轉換為八進位制數的過程如圖。轉換後的八進位制數為 3737 在圖中,被除數除以8得到商數,記下餘數,又將商數作為新的被除數繼續除以8,直到商為...

棧 鏈式棧的實現

一 2 對於棧而言,通常允許插入 刪除操作的一端被稱為棧頂 top 另一端被稱為棧底 buttom 3 從棧頂壓入元素稱為進棧 push 4 從棧頂刪除元素稱為出棧 pop 棧是一種先進後出的線性表.二 可以採用單鏈表來儲存棧中的所有元素,這種結構的棧被稱為鏈棧。對於鏈棧而言,棧頂元素不斷改變,程式...

棧的鏈式儲存表示

typedef struct stack node elemtype data struct stack node next stack node 1 棧的初始化 stack node init link stack void stack node top top stack node malloc...