2 / 8

() 试题三(共15分)
  阅读以下说明和C语言函数,将应填入 (n) 处的宇句写在答题纸的对应栏内。
【说明】
  函数bool Del_elem(STACK *s,char para_ch)的功能是:删除栈*s中与para_ch之值相等且最接近栈项的元素(字符),若栈中不存在该元素,则函数返回FALSE,否则返回TRUE。其中,STACK是栈的类型名。
  函数Del_elem实现上述功能的方法是:利用栈的基本操作,先将栈*s中所有比para_ch之值更接近栈顶的元素暂时存放在临时工作栈s_bak中,使得与para_ch之值相等的元素成为栈顶元素,此时执行出栈操作,即从栈中删除与para_ch之值相等的元素,最后再将s_bak中的元素依次存回栈*S。
  在函数Del_elem中必须使用栈的基本操作进行栈上的运算,实现栈的基本操作的函数原型说明如下:
  void InitStack(STACK *S):初始化栈。
  void Push(STACK *S,char e):将一个字符压栈,栈中元素数目增1。
  void Pop(STACK *S):栈顶元素出栈,栈中元素数目减1。
  char Top(STACK S):返回非空栈的栈顶元素值,栈中元素数目不变。
  bool IsEmpty(STACK s):若S是空栈,则返回TRUE;否则返回FALSE。
 
  bool类型定义如下:
  typedef enum {FALSE = 0,TRUE = 1} bool;