#include <stdio.h>
#include <stdlib.h>
#define STACK_INIT_SIZE 20
#define STACKINCREMENT 10
   5:  
/*将char类型定义为ElemType*/
   7:  
/*定义一个栈类型*/
   9:     ElemType *base;
  10:     ElemType *top;
int stacksize;
  12: }sqStack;
  13:  
  14:  
void initStack(sqStack *s)
  16: {
/*内存中开辟一段连续空间作为栈空间,首地址赋值给s->base*/
sizeof(ElemType));
/*分配空间失败*/
/*最开始,栈顶就是栈底*/
/*最大容量为STACK_INIT_SIZE */
  22: }
  23:  
/*入栈操作*/
if(s->top - s->base >= s->stacksize){
/*栈满,追加空间*/
  27:     s->base = (ElemType *)realloc(s->base, (s->stacksize +
sizeof(ElemType));
/*存储分配失败*/
  30:     s->top = s->base + s->stacksize;
/*设置栈的最大容量*/
  32:     }
/*放入数据*/
  34:         s->top++;
  35: }
  36:  
/*出栈操作*/
/*将栈顶元素弹出*/
/*修改栈顶指针*/
  40: }
  41:  
/*获得栈s的大小*/
return (s.top - s.base) ;
  44: }
  45:  
  46:  
char c){
return 1;
return 1;
return 0;
  51: }
  52:  
int main()
  54: {
  55:     sqStack s;
char c , e ;
/*初始化一个空栈*/
/*输入第一个字符*/
/*'#'为输入的结束标志*/
if(!StackLen(s))
/*如果栈为空,则说明输入的是第一个字符,因此保存在栈中*/
else
  63:         {
/*取出栈顶元素*/
/*将输入的元素与取出的栈顶进行比较,如果匹配不成功*/
/*先将原栈顶元素重新入栈*/
/*再将输入的括号字符入栈*/
  68:                }
  69:         }
/*输入下一个字符*/
  71:         }
/*如果栈s为空,则括号完全匹配*/
/*如果栈s不为空,则括号不完全匹配*/
return 0;
  75:  
  76: }
  77:  

相关文章:

  • 2022-12-23
  • 2021-08-13
  • 2021-12-18
  • 2021-06-01
  • 2021-12-14
  • 2022-12-23
  • 2022-12-23
  • 2022-01-06
猜你喜欢
  • 2022-02-07
  • 2021-07-29
  • 2022-12-23
  • 2022-12-23
  • 2022-01-31
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案