数据结构之顺序栈的一些基本操作
生活随笔
收集整理的這篇文章主要介紹了
数据结构之顺序栈的一些基本操作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
**
順序棧可以用一個一維數組和一個記錄棧頂位置的整形變量來實現,數組用于順序存儲棧中所有的數據元素,棧頂指針用于存儲棧頂元素的位置。
**
頭文件(Sqstack.h):
源文件(Sqstack.c):
#include "SqStack.h"// 置空棧 int InitStack (Stack* s) {if (NULL == s){errno = ERROR;return FALSE;}s->top = -1; }// 空返回真,否則返回假 int StackEmpty (Stack* s) {if (NULL == s){errno = ERROR;return FALSE;}return s->top == -1; }// 滿則返回真,否則返回假 int StackFull (Stack* s) {if (NULL == s){errno = ERROR;return FALSE;}return s->top == (SIZE - 1); }// 進棧 int Push (Stack* s, StackData x) {if (NULL == s){errno = ERROR;return FALSE;}// 判斷是否棧滿if (StackFull(s)){errno = FULL_STACK;return FALSE;}// 先進行x的存儲s->data[++s->top] = x; return TRUE; }// 出棧 int Pop (Stack* s, StackData *x) {if (NULL == s){errno = ERROR;return FALSE;}// 判斷是否空棧if (StackEmpty(s)){errno = EMPTY_STACK;return FALSE;}*x = s->data[s->top--];return TRUE; }// 取棧頂 int GetTop (Stack* s, StackData *x) {if (NULL == s){errno = ERROR;return FALSE;}//判斷是否空棧if (StackEmpty(s)){errno = EMPTY_STACK;return FALSE;}*x = s->data[s->top];return TRUE; }總結
以上是生活随笔為你收集整理的数据结构之顺序栈的一些基本操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python小括号表示什么数据类型_Py
- 下一篇: 李洋疯狂C语言之n个人报数,报到3的退出