注:若有错误或需要补充的内容请告知,新手上路,谢谢。
#include<stdlib.h>
#include<stdio.h>
#include<cstring>
#include<string>
#include<algorithm>
#include<math.h>
#include<ctype.h>
using namespace std;
/*结点结构体*/
typedef struct node
{
int data;
struct node *next;
}stacknode;
/*链式栈结构体*/
typedef struct linkstack
{
stacknode *base;
stacknode *top;
}linkstack;
/*链式栈初始化*/
linkstack *init_stack()
{
linkstack *s;
s=(linkstack*)malloc(sizeof(linkstack));
s->base=(stacknode*)malloc(sizeof(stacknode));
s->top=s->base;
s->base->next=NULL;
return s;
}
/*判断链式栈空*/
bool is_empty_linkstack(linkstack s)
{
if(s.base==s.top)
{
return true;
}
else
{
return false;
}
}
/*链式栈入栈*/
void push(linkstack *s,int e)
{
stacknode *p;
p=(stacknode*)malloc(sizeof(stacknode));
p->data=e;
p->