顺序栈基本操作

Run Settings
LanguageC++
Language Version
Run Command
#include <stdio.h> #define MaxSize 50 // 定义栈中元素的最大个数 # define ElemType int int main() { printf("Hello Stack"); return 0; } typedef struct { ElemType data[MaxSize]; // 存放栈中元素 int top; // 栈顶指针 } SqStack; /** * 初始化时 * top == -1 top 指向栈顶元素 * top == 0 top 指向栈顶元素的下一个位置 * */ // 初始化 void InitStack(SqStack &S) { S.top = -1; } // 判栈空 bool StackEmpty(SqStack S) { if (S.top == -1) return true; else return false; } // 进栈 bool Push(SqStack &S, ElemType x) { if (S.top == MaxSize - 1) return false; S.data[++S.top] = x; return true; } // 出栈 bool Pop(SqStack &S, ElemType &x) { if (S.top == -1) // 栈空 return false; x = S.data[S.top]; // x 为出栈的元素 return true; } // 读取栈顶元素 /** * 仅读取栈顶元素,不出栈 */ bool GetTop(SqStack S, ElemType &x) { if (S.top == -1) return false; x = S.data[S.top]; return true; }
Editor Settings
Theme
Key bindings
Full width
Lines