用鏈表示的棧的基本操作:
#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...