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;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容