線性棧
輸入字元,再輸出
#include "stdafx.h"
#include
#include
#define stack_size 100
#define stackincreament 10
#define error 0
#define ok 1
#define overflow -2
typedef int selemtype;
typedef int status;
typedef char celemtype;
//定義棧結構體
typedef struct stacksqstack;
//函式宣告
status initstack(sqstack &s);
celemtype push(sqstack &s, char e);
celemtype printfstack(sqstack s);
celemtype popstack(sqstack &s);
status stacklength(sqstack s);
int main()
printfstack(s);
//構建新的空棧
status initstack(sqstack &s)
//入棧操作
celemtype push(sqstack &s, char e)
*s.top++ = e;
return ok;
}//輸出棧中儲存哪些元素
celemtype printfstack(sqstack s)
printf("棧頂先輸出\n");
for (p = s.top - 1; p != s.base - 1; p--)
printf("%c ", *p); //從棧頂的元素最先輸出
printf("\n");
}//出棧操作
celemtype popstack(sqstack &s)
printf("出棧的元素為%c\n", *(s.top - 1));
*(--s.top) = null;
}//求棧的長度
status stacklength(sqstack s)
{printf("the stack'length is %d !\n", s.top - s.base);
return ok;
資料結構 鏈棧的基本操作 C語言
棧的特點 先進後出。鏈棧 1 棧底即鍊錶的最後乙個結點,而棧頂總是鍊錶的第乙個結點。因此 新入棧元素即為鍊錶新的第乙個結點。2 乙個鏈棧可由棧頂指標top唯一確定。如下圖給出了鏈棧中元素與top的關係。3 採用帶頭節點的單鏈表實現棧。因為 鏈棧的插入和刪除僅在表頭位置進行,所以表頭指標top就作為棧...
資料結構之棧的基本操作
棧的結構型別,和基本操作如下 typedef struct stack,st void initstack stack s 初始化棧 void destroystack stack s 銷毀棧 void push stack st,type e 插入元素 type pop stack st 彈出棧頂...
資料結構的鏈棧基本操作
本程式主要是實現 建立空棧 進棧 出棧 清空棧 判空 取棧頂元素 取棧底元素 獲取棧元素長度 銷毀 include include include linkstack.h int main void pushstack mystack,100 pushstack mystack,200 pushst...