理论教育 2019版数据结构高分笔记:链栈操作和考察频率

2019版数据结构高分笔记:链栈操作和考察频率

时间:2023-11-03 理论教育 版权反馈
【摘要】:lst->next==NULL2)栈满状态。两个操作1)元素进栈操作。大家还需注意,在考研中考察链栈代码的频率要比顺序栈少得多。顺序栈定义简单,操作也简单得多,因此在此提醒大家,对于程序设计题,如果你有10份时间,把7份用在顺序栈题目上,3份用在链栈题目上,这是一个比较恰当的时间分配比例。

2019版数据结构高分笔记:链栈操作和考察频率

1.链栈的要素

和顺序栈对应,链栈也有4个要素,包括两个特殊状态和两个操作。

(1)两个状态

1)栈空状态。

lst->next==NULL

2)栈满状态。

不存在栈满的情况(假设内存无限大的情况下不存在。一般题目要求不太严格,可以这么认为)。

(2)两个操作

1)元素(由指针p所指)进栈操作。

p->next=lst->next;lst->next=p;//其实就是头插法建立链表中的插入操作(www.daowen.com)

2)出栈操作(出栈元素保存在x中)。

p=lst->next;x=p->data;lst->next=p->next;free(p);//其实就是单链表的删除操作

2.链栈的初始化代码

3.判断栈空代码

当栈空时返回1,否则返回0,代码如下:

4.进栈代码

5.出栈代码

在栈不空的情况下可以执行,返回1,否则返回0,代码如下:

说明:对于链栈,和顺序栈一样,在应对考试的时候,不必像以上那样严格地写出其操作的函数,只需摘取其中必要的语句组合在自己的题目代码中即可,具体思路类似于顺序栈中的讲解。大家还需注意,在考研中考察链栈代码的频率要比顺序栈少得多。顺序栈定义简单,操作也简单得多,因此在此提醒大家,对于程序设计题,如果你有10份时间,把7份用在顺序栈题目上,3份用在链栈题目上,这是一个比较恰当的时间分配比例。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈