【数据结构错题集】Chapter2 线性表

1.单链表删除指针在这里插入图片描述
free(s)和free(p->next)是两个不同的指针,只是指向同一个地方。使用free(p->next)需要注意的是后续的链表是否都释放了,没有就会造成内存泄露,都释放了,也要将p->next置为空。

2.线性表&数组 插入删除在这里插入图片描述

3.在这里插入图片描述

4.线性表插入元素在这里插入图片描述

5.头结点在这里插入图片描述
带头结点带头结点带头结点

6.增加结点问题在这里插入图片描述
题目读顺!
(一张网图)
在这里插入图片描述

7.在这里插入图片描述

8.存储方式选择(标号一样但是是两道题)在这里插入图片描述
在这里插入图片描述

9.双向循环链表插入元素在这里插入图片描述

10.双向循环链表删除元素在这里插入图片描述

11.静态链表在这里插入图片描述

12.动态链表、静态链表、顺序表在这里插入图片描述
在这里插入图片描述
1、静态链表是用类似于数组方法实现的,是顺序的存储结构,在物理地址上是连续的,而且需要预先分配地址空间大小。所以静态链表的初始长度一般是固定的,在做插入和删除操作时不需要移动元素,仅需修改指针。
2、动态链表是用内存申请函数(malloc/new)动态申请内存的,所以在链表的长度上没有限制。动态链表因为是动态申请内存的,所以每个节点的物理地址不连续,要通过指针来顺序访问。
3、顺序表和静态链表的物理结构(即存储结构)是相同的,在计算机内存中以数组的形式保存的线性表,是用一组地址连续的存储单元依次存储数据元素的线性结构,但两者的数据结构(逻辑结构)是不同的:
顺序表:着眼于整个数组,采用动态分配的一维数组,仍然借助了指针进行数据操作。在线性表的插入和删除操作时,需要借助指针来移动元素。
静态链表:不设指针而使用链表结构,数组元素的一个分量用于存放数据,另一个用来作为“游标”指示下一结点在数组中的相对位置,数据的存储尽管是采用一维数组的形式存储在计算机中,但仍然是继承了链表指向不一定总是指向紧挨着其的结点。

13.判断题
(    )1. 链表的每个结点中都恰好包含一个指针。

(    )2. 链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动地将后续的各个单元向前移动。
(    )3 线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。 
(    )4. 线性表在物理存储空间中也一定是连续的。

1.错,链表中的结点可含多个指针域,分别存放多个指针。例如,双向链表中的结点可以含有两个指针域,分别存放指向其直接前趋和直接后继结点的指针。
2.错,链表的结点不会移动,只是指针内容改变。 
3.错,混淆了逻辑结构与物理结构,链表也是线性表!且即使是顺序表,也能存放记录型数据。 
4.错,线性表有两种存储方式,顺序存储和链式存储。后者不要求连续存放。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值