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

本文最后修改于 170 天前,部分内容可能已经过时!

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;
}
Tags:none
上一篇
打赏
下一篇

添加新评论