【数据结构】栈的基本操作
生活随笔
收集整理的這篇文章主要介紹了
【数据结构】栈的基本操作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 前言
- 一、初始化棧
- 二、銷毀棧
- 三、判斷棧是否為空
- 四、進棧
- 五、出棧
- 六、取棧頂元素
- 總結
前言
棧的基本操作有1.初始化棧2.銷毀棧3.判斷棧是否為空4.進棧5.出棧6.取棧頂元素
首先定義好棧的數據類型
typedef int ElemType; typedef struct { ElemType data[MaxSize]; int
top; }SqStack;
一、初始化棧
void InitStack(SqStack*& s) {s = (SqStack*)malloc(sizeof(SqStack));s->top = -1; }二、銷毀棧
//銷毀棧 void DestoryStack(SqStack*& s) {free(s); }三、判斷棧是否為空
bool StackEmpty(SqStack* s) {return (s->top == -1); }四、進棧
//元素進棧 bool push(SqStack*& s, ElemType e) {if (s->top == MaxSize - 1) {//此時,top指針已經指向最高處了return false;}else {s->top++;s->data[s->top] = e;return true;} }五、出棧
//元素出棧 bool pop(SqStack*& s, ElemType e) {if (s->top == -1) {return false;}else {e = s->data[s->top];s->top--;return true;} }六、取棧頂元素
//取棧頂元素 bool GetTop(SqStack* s, ElemType &e) {if (s->top == -1) {return false;}else {e = s->data[s->top];return true;} }//這里可以觀察到,取棧頂元素與出棧是非常相似的,但棧頂元素不需要top--。```總結
棧的基本操作需要自己不斷的去敲代碼熟悉,逐漸理解代碼中的思維方式
總結
以上是生活随笔為你收集整理的【数据结构】栈的基本操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAFEARRAY使用实例
- 下一篇: shell在一个大文件找出想要的一段字符