
#include <stdio.h>
#include <stdlib.h>
typedef struct lineStack{
int data;
struct lineStack* next;
}lineStack;
lineStack* push(lineStack* head,int a){
lineStack* line=(lineStack*)malloc(sizeof(lineStack));
line->data=a;
line->next=head;
head=line;
return head;
}
lineStack* pop(lineStack *head)
{
if(head)
{
lineStack* p=head;
head=head->next;
printf("弹栈元素:%d ",p->data);
if(head)
{
printf("栈顶元素:%d\n",head->data);
}
else{
printf("栈已空\n");
}
}
else
{
printf("栈内没有元素");
return head;
}
return head;
}
int main()
{
lineStack* head=NULL;
head=push(head, 1);
head=push(head, 2);
head=push(head, 3);
head=push(head, 4);
head=pop(head);
head=pop(head);
head=pop(head);
return 0;
}
root@book-virtual-machine:/mnt/hgfs/lua/C++# g++ -std=c++11 salman_0119.cpp -o salman_0119
root@book-virtual-machine:/mnt/hgfs/lua/C++# ./salman_0119
弹栈元素:4 栈顶元素:3
弹栈元素:3 栈顶元素:2
弹栈元素:2 栈顶元素:1
root@book-virtual-machine:/mnt/hgfs/lua/C++#