学习笔记

 学习笔记
今天我看了数据结构中的顺序栈的构建以及顺序栈的共用。下边是我练习的代码:
#include "stdio.h"
#define MAX 10
typedef struct st
{
 char ch[MAX];
 int top[2];
}stack;

void init(stack *p)
{
 p->top[0]=-1;
 p->top[1]=MAX;
}

void push(stack *p)
{
 char t;
 int flag=0;
 printf("please input stack 0:/n");
 fflush(stdin);
 scanf("%c",&t);
 if(t!='-')
  {       p->top[0]++;
   while(p->top[0]<MAX&&t!='-')
    {
     p->ch[p->top[0]++]=t;
     fflush(stdin);
     flag++;
     if(p->top[0]<MAX)
      scanf("%c",&t);

    }
   p->top[0]--;
  }
 if(p->top[0]!=MAX-1)
 {
 printf("please input stack 1:/n");
 fflush(stdin);
 scanf("%c",&t);
 if(t!='-')
  {
   p->top[1]--;
   flag=MAX-flag;
   while(p->top[1]>=0&&t!='-'&&flag>0)
    {
     p->ch[p->top[1]--]=t;
     fflush(stdin);
     flag--;
     if(flag>0)
     scanf("%c",&t);

    }
   p->top[1]++;
  }
 }
}
void pop(stack *p)
{
 if(-1==p->top[0])
  printf("stack 0 is empty/n");
 else
  {
   printf("pop stack 0:/t");
   while(p->top[0]>=0)
    {
     printf("%c/t",p->ch[p->top[0]--]);
    }
  }
 if(MAX==p->top[1])
  printf("/nstack 1 is empty");
 else
  {
   printf("/n/npop stack 1:/t");
   while(p->top[1]<MAX)
    {
     printf("%c/t",p->ch[p->top[1]++]);
    }
  }
}

main()
{
 stack *p,st1;
 p=&st1;
 clrscr();
 init(p);
 push(p);
 pop(p);
 getch();
}
2006-8-13 21:00:06

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值