第五周 项目1 建立顺序栈算法库

目标:建立顺序栈算法库。

代码:

#include <iostream>
#include "zhandetouwenjian.h"
using namespace std;
void shuchuzhan(sqstack * s)
{
     for(int i=s->top;i>-1;i--)
          cout<<s->shuju[i]<<" ";
     cout<<endl;
}
int main()
{
     sqstack * s;
     A e;
     zhandechushihua(s);
     cout<<zhanpanduankong(s)<<endl;
     e='a';
     jinzhan(s,e);
     e='b';
     jinzhan(s,e);
     e='c';
     jinzhan(s,e);
     e='d';
     jinzhan(s,e);
     e='e';
     jinzhan(s,e);
     cout<<zhanpanduankong(s)<<endl;
     cout<<zhandechangdu(s)<<endl;
     shuchuzhan(s);
     for(int a=0;a<5;a++)
     {
          chuzhan(s,e);
          cout<<e<<"     "<<s->top+2<<endl;
     }
     cout<<zhanpanduankong(s)<<endl;;
     zhandecuihui(s);
     return 0;
}
#include <iostream>
#include <malloc.h>
#include "zhandetouwenjian.h"
void zhandechushihua(sqstack *& s)
{
     s=(sqstack *)malloc(sizeof(sqstack));
     s->top=-1;
}
void zhandecuihui(sqstack *& s)
{
     free(s);
}
bool zhanpanduankong(sqstack * s)
{
     if(s->top==-1)
          return 1;
     else
          return 0;
}
bool jinzhan(sqstack *& s,A e)
{
     if(s->top==zuida-1)
          return false;
     s->top++;
     s->shuju[s->top]=e;
     return true;
}
bool chuzhan(sqstack *& s,A &e)
{
     if(s->top==-1)
          return false;
     e=s->shuju[s->top];
     s->top--;
     return true;
}
bool quzhanding(sqstack * s,A &e)
{
     if(s->top==-1)
          return false;
     e=s->shuju[s->top];
     return true;
}
int zhandechangdu(sqstack * s)
{
     return (s->top+1);
}
#ifndef ZHANDETOUWENJIAN_H_INCLUDED
#define ZHANDETOUWENJIAN_H_INCLUDED
#define zuida 99
typedef char A;
typedef struct
{
     A shuju[zuida];
     int top;
}sqstack;
void zhandechushihua(sqstack *& s);
void zhandecuihui(sqstack *& s);
bool zhanpanduankong(sqstack * s);
bool jinzhan(sqstack *& s,A e);
bool chuzhan(sqstack *& s,A &e);
bool quzhanding(sqstack * s,A &e);
int zhandechangdu(sqstack * s);
void shuchuzhan(sqstack * s);
#endif // ZHANDETOUWENJIAN_H_INCLUDED

运行图:

总结:

真没什么总结.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值