c資料結構棧的基本操作(字元逆序輸出)

2022-03-21 20:58:18 字數 1259 閱讀 4696

線性棧

輸入字元,再輸出

#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...