typedef struct node
{
int data;
struct node * next;
}LinkStackNode, *LinkStack;
//top相当于是头指针,本质上是头插法
int Push(LinkStack top, int x) //相当于链表的插入操作
{
LinkStack temp;
temp=(LinkStack)malloc(sizeof(LinkStackNode));
if(temp==NULL) return -1;
temp->data=x;
temp->next=top->next;
top->next=temp;
return 1;
}
int Push(LinkStack top, int* x)
{
LinkStack temp;
temp=(LinkStack)malloc(sizeof(LinkStackNode));
temp=top->next;
if(temp==NULL)
return -1;
top->next=temp->next; //相当于链表的删除操作,top-next=top->next->next
*x= temp->data;
free(temp);
return 1;
}