wordpress 用iis建站,贵阳招聘网站建设,服务器网站建设情况,centos wordpress 一键顺序栈练习
相关内容#xff1a; 1.判断顺序栈栈满的两种方式 2.一张图理解栈顶指针加加减减的问题 3.栈的顺序存储结构#xff08;顺序栈#xff09;
//顺序栈的初始化、判空、入栈、出栈、读取栈顶元素
//顺序栈的结构#xff1a;数组、栈顶指针(本质是下标)
#include 1.判断顺序栈栈满的两种方式 2.一张图理解栈顶指针加加减减的问题 3.栈的顺序存储结构顺序栈
//顺序栈的初始化、判空、入栈、出栈、读取栈顶元素
//顺序栈的结构数组、栈顶指针(本质是下标)
#includestdio.h
#define MAXSIZE 10
typedef int Status;
#define TRUE 1
#define FALSE 0
typedef struct
{int data[MAXSIZE];int top;//栈顶指针指向栈顶元素是上一个位置
}SqStack;
//顺序栈的初始化初始化栈顶指针
Status InitSqStack(SqStack *S){S-top-1;return TRUE;
}
//顺序栈的判空使用前不是使用时栈顶指针为-1
Status isEmpty(SqStack *S){if (S-top-1)return TRUE;elsereturn FALSE;
}
//顺序栈的入栈判满栈顶指针1添加元素
Status Push(SqStack *S,int e){if (S-topMAXSIZE-1)//判满return FALSE;S-data[S-top]e;//先使用top后return TRUE;
}
//顺序栈的出栈判空栈顶元素出栈栈顶指针-1
Status Pop(SqStack *S,int *e){if (S-top-1)//判空return FALSE; else{*eS-data[S-top--];return TRUE;}
}
//顺序栈的读取栈顶元素判空返回元素
Status GetElem(SqStack *S,int *e){if (S-top-1)//判空return FALSE; else{*eS-data[S-top];return TRUE;}
}
int main(){int n,e;SqStack S;InitSqStack(S);printf(初始化完成!\n);if (!isEmpty(S))//使用前判空printf(栈空!\n);printf(输入需要进栈的元素个数:);scanf(%d,n);for (size_t i 0; i n; i){printf(输入第%d个进栈元素:,i1);scanf(%d,e);Push(S,e);}GetElem(S,e);printf(栈顶元素为:%d\n,e);printf(所有元素出栈\n);for (size_t i 0; i n; i){printf(输出第%d个出栈元素:,i1);Pop(S,e);printf(%d\n,e);}return 0;
}