用结构模仿堆栈实例

来源:互联网 发布:培训学校用浪腾软件 编辑:程序博客网 时间:2024/05/15 15:22

/**
* 用结构模仿堆栈
* Stack.c
* version:1.0  2006-9-13
* auther:jsp
**/

#include"stdio.h"

struct stack
{
 char str[100];
 int     top;//栈的顶部
};


int Isempty(struct stack *plink)//判断栈是否为空
{
 if(plink->top == 0)
  return 0;
 else
  return 1;
}

void pop(struct stack *plink)//出栈
{
 plink->top--;
}

void push(struct stack *plink,char ch)//入栈
{
 plink->str[plink->top] = ch;
 plink->top++;
}

void clear(struct stack *plink)//清栈
{
 plink->top = 0;
}


void main()
{
 struct stack stacklink;
    struct stack *plink=&stacklink;

 int i;
 char ch;

 plink->top = 0;

 while((ch = getchar()) != '/n')
 {
  switch (ch)
  {
  case '#':
   if(Isempty(plink))
   {
    pop(plink);
   }
   break;
  case '@':
   clear(plink);
   break;

  default:
   push(plink,ch);
   break;
  }
 }
  for(i = 0; i < plink->top ; i++ )
   printf("%c",plink->str[i]);
  printf("/n");

原创粉丝点击