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;
}