65,210
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
typedef struct stacknode
{
int point;
struct stacknode *next;
}StackNode;
typedef struct
{
StackNode *top;
}LinkStack;
void InitStack(LinkStack *s)
{
s->top=NULL;
}
bool StackEmpty(LinkStack *s)
{
if(s->top==NULL)
return true;
else
return false;
}
void Push(LinkStack *s, int p)
{
StackNode *oldtOP=s->top;
StackNode *pstackNode = new StackNode;
pstackNode->point=p;
pstackNode->next=oldtOP;
s->top=pstackNode;
cout<<s->top<<" ";
cout<<s->top->point<<" Push "<<endl;
}
void Pop(LinkStack *s)
{
if(StackEmpty(s))
return;
StackNode *oldtOP = NULL;
oldtOP=s->top;
s->top = s->top->next;
cout<<oldtOP<<" "<<oldtOP->point<<" Pop "<<endl;
delete oldtOP;
oldtOP = NULL;
}
void main()
{
LinkStack linkStack;
InitStack(&linkStack);
Push(&linkStack,5);
Push(&linkStack,6);
Push(&linkStack,7);
Push(&linkStack,8);
cout<<linkStack.top->point<<" \n";
Pop(&linkStack);
}