首页 > 代码库 > C语言顺序栈完整实现
C语言顺序栈完整实现
#include <stdio.h> #include <stdlib.h> const int MAXSIZE = 100;//注意 #define ElementType int typedef struct SNode *Stack; struct SNode{ ElementType Data[MAXSIZE]; int Last; }; Stack CreateStack(int MAXSIZE); int IsFull(Stack S); void Push(Stack S,ElementType item); int IsEmpty(Stack S); ElementType Pop(Stack S); int main(){ Stack S = CreateStack(MAXSIZE); for(int i=0;i<11;i++) Push(S,i); while(!IsEmpty(S)){ printf("%d\n",Pop(S)); } return 0; } Stack CreateStack(int MAXSIZE){ Stack S = (Stack)malloc(sizeof(SNode)); S->Last = -1; return S; } int IsFull(Stack S){ return S->Last+1 ==MAXSIZE; } int IsEmpty(Stack S){ return S->Last < 0; } void Push(Stack S, ElementType item){ if(IsFull(S)){ printf("栈满\n"); return; }else{ S->Data[++S->Last]= item; return; } } ElementType Pop(Stack S){ if(IsEmpty(S)){ printf("栈为空\n"); return NULL; }else{ return S->Data[S->Last--]; } }
C语言顺序栈完整实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。