由於單棧的**實現比較簡單,所以沒有加注釋,不理解的地方請參照線性表的順序儲存結構的實現
#include #include #define ok 1
#define error 0
#define maxsize 10
typedef int status;
typedef int elemtype;
typedef struct
stack;
//初始化
status initstack(stack *s)
return ok;
}//入棧
status push(stack *s, elemtype elem)
//彈棧
status pop(stack *s, elemtype *elem)
//獲取棧頂元素(不刪除)
status gettop(stack s, elemtype *elem)
//獲取長度
int length(stack s)
//清空棧
status clear(stack *s)
int main(void)}}
} }return 0;
}
資料結構之棧(四)
本文將繼續擴充套件stack在arithmetical expression的處理方面的應用,其中包括 postfix2prefix postfix2infix 和 infix2postfix 一 postfix2prefix 它是通過多次入棧和出棧來完成的。主要步驟是 遍歷 postfix str...
資料結構 棧 棧的鏈式儲存結構
資料結構 棧 棧的鏈式儲存結構 用頭插法建立的鏈棧,棧頂元素為s next所指結點 date 2017 4 14 include include define initsize 100 define elemtype char typedef struct lnode linkstack void ...
資料結構 (四)棧
總體來說,棧的知識比線性表 順序表簡單很多。但是同時也有許多需要注意的點,稍稍不注意就可能會出現錯誤,因此,雖然簡單一點,但也要細心學習。一 基本知識 棧 限定僅在表尾進行插入和刪除操作的線性表。允許插入和刪除的一端稱為棧頂,另一端稱為棧底。空棧 不含任何資料元素的棧。棧的操作特性 後進先出 注意 ...