数据结构-----链式栈

#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++#

猜你喜欢

转载自blog.csdn.net/aa804738534/article/details/113742237
今日推荐