C语言堆栈(整理).docVIP

  • 3
  • 0
  • 约1.88千字
  • 约 3页
  • 2020-10-22 发布于广东
  • 举报
PAGE PAGE 1 #includestdio.h #include Stack.h #include StackCommonFunction.h void main() { Stack s; T x; CreateStack(s,10); Push(s,10); Push(s,15); PrintStack(s); x=*InputElement(); Push(s,x); PrintStack(s); Pop(s); Pop(s); if(IsEmpty(s)) printf(Is Empty!\n); else printf(Is not Empty!\n); PrintStack(s); } #includestdio.h #include Stack.h #include StackCommonFunction.h T *InputElement() { static T a; scanf(%d,a); return a; } void PrintElement(T x) { printf(%d ,x); } void PrintStack(Stack s) { if(IsEmpty(s)) printf(The Stack is empty!\n); else for(;s.Top=0;s.Top--) PrintElement(s.Element[s.Top]); } void CreateStack(Stack *s,int maxsize) { s-Top=-1; s-MaxSize=maxsize; } BOOL IsEmpty(Stack s) { return s.Top0; } BOOL IsFull(Stack s) { return s.Top=s.MaxSize-1; } void Push(Stack *s,T x) { if(IsFull(*s)) printf(Overflow!\n); else { s-Top++; s-Element[s-Top]=x; } } void Pop(Stack *s) { if(IsEmpty(*s)) printf(Underflow!\n); else s-Top--; } void StackTop(Stack s,T *x) { if(IsEmpty(s)) printf(Underflow); else *x=s.Element[s.Top]; } #ifndef STACK_H #define STACK_H #define MAXSIZE 50 #define FALSE 0 #define TRUE 1 typedef int BOOL; typedef int T; typedef struct stack { int Top,MaxSize; T Element[MAXSIZE]; } Stack; #endif #ifndef STACKCOMMONFUNCTION_H #define STACKCOMMONFUNCTION_H #include Stack.h void CreateStack(Stack *s,int maxsize); //已经创建一个堆栈后,构造一个空堆栈,maxsize为实际长度 BOOL IsEmpty(Stack s); //判断堆栈是否为空,返回BOOL值。1为空,0为不空 BOOL IsFull(Stack s); //判断堆栈是否为满,返回BOOL值,1为满,0为不满 void Push(Stack *s,T x); //入栈操作 void Pop(Stack *s); //出栈操作 void StackTop(Stack s,T *x);//在x中返回栈顶元素 T *InputElement(); //输入单个元素T,返回输入值的地址 void PrintElement(T x); //输出显示单个元素的值 void PrintStack(Stack s); //输出显示堆栈中的每一个元素 #endif

文档评论(0)

1亿VIP精品文档

相关文档