2018-10-04 数据结构学习---链栈的实现

2018.10.04 数据结构学习—链栈的实现

/*
 * 学习时间:2018-10-4
 * 学习内容:数据结构之链栈的实现
 * 学习人:田超
 * QQ:770925351
 * Email:770925351@qq.com
 * 开发环境:Ubuntu 16.04 + CLion
 * */
#include <stdio.h>
#include <stdlib.h>

typedef struct LNode            //定义链栈节点结构体
{
    int data;
    struct LNode *next;
}LNode;

void initStack(LNode *&L)       //初始化栈
{
    L=(LNode*)malloc(sizeof(LNode));
    L->next=NULL;
    L->data=-1;
}

int isEmpty(LNode *L)           //判断是否栈空
{
    if(L->next==NULL)
        return 1;
    else
        return 0;
}

void push(LNode *L,int x)       //进栈,采用头插法
{
    LNode *p;
    p=(LNode*)malloc(sizeof(LNode));
    p->data=x;
    p->next=L->next;
    L->next=p;
    (L->data)++;
}

int pop(LNode *L,int &x)        //出栈,采用删除第一个节点
{
    LNode *p;
    if(isEmpty(L))
        return 0;
    p=L->next;
    x=p->data;
    L->next=p->next;
    (L->data)--;
    free(p);
    return 1;
}

int main()
{
    return 0;
}
    原文作者:回不去的温柔
    原文地址: https://www.jianshu.com/p/0fa5c48b608d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞