栈的链式存储结构及其基本运算的实现

来源:互联网 发布:中国核潜艇打海盗知乎 编辑:程序博客网 时间:2024/05/16 09:57
#include <iostream>#include <stdlib.h>using namespace std;typedef char ElemType;typedef struct linknode{    ElemType data;    struct linknode *next;} LiStack;void InitStack(LiStack *L);//初始化栈void DestroyStack(LiStack *L);//销毁栈bool StackEmpty(LiStack *L);//判断栈是否为空void Push(LiStack *L,ElemType e);//进栈bool Pop(LiStack *L,ElemType &e);//出栈bool GetTop(LiStack *L,ElemType &e);//取栈顶元素int main(){    LiStack *L=new LiStack();    cout<<StackEmpty(L)<<endl;    ElemType e;    InitStack(L);    Push(L,'a');    Push(L,'b');    // GetTop(L,e);    Pop(L,e);    cout<<e<<endl;    Pop(L,e);    cout<<e<<endl;    DestroyStack(L);    cout<<StackEmpty(L)<<endl;    return 0;}bool GetTop(LiStack *L,ElemType &e)//取栈顶元素{    if(L->next==NULL)        return false;    else    {        e=L->next->data;        return true;    }}bool Pop(LiStack *L,ElemType &e)//出栈{    LiStack *q=L->next;    if(L->next==NULL)        return false;    else    {        e=q->data;        L->next=q->next;        free(q);        return true;    }}void Push(LiStack *L,ElemType e)//进栈{    LiStack *s=(LiStack*)malloc(sizeof(LiStack));    s->data=e;    s->next=L->next;    L->next=s;}bool StackEmpty(LiStack *L)//判断栈是否为空{    return L->next==NULL;}void DestroyStack(LiStack *L)//销毁栈{    LiStack *s=L->next;    while(L->next!=NULL)    {        free(L);        L=s;        s=L->next;    }}void InitStack(LiStack *L)//初始化栈{    L=(LiStack*)malloc(sizeof(LiStack));    L->next=NULL;}
链栈的优点是不存在栈满的情况。
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 2个月伤风鼻塞怎么办 3个月宝宝鼻塞怎么办 感冒治好后咳嗽一直不好怎么办 天气太热感冒了怎么办 3个月的婴儿鼻塞怎么办 四个月宝宝感冒鼻塞严重怎么办 4个月小孩鼻塞怎么办 4个多月的宝宝流鼻涕怎么办 4个月大的宝宝流鼻涕怎么办 两岁宝宝着凉了怎么办 7岁儿童晚上鼻塞怎么办 儿童感冒鼻塞怎么办速效办法 7岁儿童感冒鼻塞怎么办 七个月婴儿感冒流鼻涕怎么办 婴儿感冒流鼻涕怎么办速效办法 三个月婴儿感冒咳嗽流鼻涕怎么办 五个月婴儿感冒咳嗽流鼻涕怎么办 两个多月的宝宝鼻塞怎么办 3个月宝宝感冒鼻塞怎么办 2个月宝宝感冒鼻塞怎么办 5个月宝宝鼻塞怎么办 6个月宝宝鼻塞怎么办 3个月婴儿感冒咳嗽怎么办 感冒打喷嚏打不出来怎么办 4岁宝宝体温37.5怎么办 8个月的宝宝鼻塞怎么办 4个月婴儿鼻塞怎么办 我一躺下就鼻塞怎么办 感冒了鼻子堵了怎么办 感冒鼻涕流的多怎么办 小孩感冒鼻塞怎么办最简单方法 鼻子痒老打喷嚏流鼻涕怎么办 眼睛红痒鼻子流鼻涕怎么办 19个月宝宝流鼻血怎么办 9个月宝宝流鼻血怎么办 8个月宝宝流鼻血怎么办 4个月宝宝流鼻血怎么办 20个月宝宝发烧流鼻血怎么办 60天宝宝老鼻塞怎么办 10个月宝宝头被撞到流鼻血怎么办 狗狗受凉吐了怎么办