SWUST数据结构--链栈基本操作的实现

#include
#include
using namespace std;

typedef struct st
{
	int data;
	struct st *next;
}Stack;

void Init(Stack *&s)
{
	s=(Stack *)malloc(sizeof(Stack));
	s->next=NULL;
}

bool Push(Stack *&s,int e)
{
	Stack *p;
	p=(Stack *)malloc(sizeof(Stack));
	p->data=e;                 //头插法倒序输入
	p->next=s->next;
	s->next=p;
	return true;
}

bool Pop(Stack *&s,int e)
{
	Stack *p;
	if(s->next==NULL)  return false;
	p=s->next;         //p指向首节点
	e=p->data;        //提取首节点值
	s->next=p->next;          //删除首节点
	free(p);
	return true;
}

bool is(Stack *&s)
{
   return(s->next==NULL);
}

int Get(Stack *&s)
{  
    int e=s->next->data;
	return e;
}

int main()
{
	Stack *s;
	int i,n,m,a[50];
	int tmp;
	Init(s);
	cin>>n;
	for(i=0;i>a[i];
		Push(s,a[i]);
	}
	cin>>m;
	for(i=0;i

你可能感兴趣的:(SWUST数据结构--链栈基本操作的实现)