#include<stdio.h>
#include<stdlib.h>
#define OK 1;
#define ERROR 0;
typedef struct StackNode
{
int data;
struct StackNode* pNext;
}stackNode,*pStackNode;
int init(pStackNode& pHead)
{
pHead=NULL;
return OK;
}
int push(pStackNode& pHead,int x)
{
stackNode* p;
p=(stackNode*)malloc(sizeof(stackNode));
p->data=x;
p->pNext=pHead;
pHead=p;
return OK;
}
int pop(pStackNode& pHead)
{
if(pHead==NULL)
{
return ERROR;
}
pStackNode p;
p=pHead;
pHead=pHead->pNext;
delete p;
return OK;
}
int top(pStackNode pHead)
{
return pHead->data;
}
void print(pStackNode pHead)
{
if(pHead==NULL)
{
printf("当前为空栈");
}
else
{
pStackNode p;
p=pHead;
while(p!=NULL)
{
printf("%d",p->data);
p=p->pNext;
}
}
}
int main()
{
pStackNode pHead1;
init(pHead1);
push(pHead1,1);
push(pHead1,1);
push(pHead1,1);
push(pHead1,1);
print(pHead1);
printf("\n");
pop(pHead1);
print(pHead1);
return 0;
}
(链表存储)出栈入栈操作
最新推荐文章于 2023-03-24 13:30:47 发布