数据结构基础知识点(三)

第二章:线性表(链表)

首元结点:首个元素所在的结点

先开辟一块空间作为头结点,再让头指针指向这个头结点

再把null赋值给头指针指向的指针域(next)

循坏的条件是L指向的指针域是否存在,如果存在,则非空表,返回0,不存在则返回1,空表

先定义一个指针p,让指针p和头指针同样指向头结点,接着让头指针指向下一个结点的指针域,然后让p和p指向的结点销毁,再让一个新的指针p和头指针指向同个结点,当头指针指向不为null时,一直循环,直到头指针指向null,循环结束。

定义两个指针p,q,让p指向首元结点,再让q指向首元结点存储的下一个结点的指针域,将p删除,再定义一个新的指针p来指向和q相同的结点,q向后移动,p销毁,循环直到q无法向后移动,p销毁也就是p为null时,循环结束,最后将null赋值给头结点的指针域

定义一个指针p,再定义一个计数值i,指针p每移动一次,i加1,直到指针p指向null,返回i的值、

找到对应元素并返回,这边我有点疑惑,为什么返回的是ok,不应该返回e吗

找到对应元素并返回位置信息

找到元素并返回位置序号

不可以,会丢失ai的地址

看起来这里更java有点不一样,java中return返回的就是要的东西,而C语言返回的再上面就标注了,return ok就行了(老师讲的很仔细很容易理解)这个是在元素ai之前插入数据为e 的元素的算法

这边写的麻烦了,用一个新的指针q来指向p的next

头插法获得单链表:先创建一个头结点,将头结点的指针域置空,要将n个元素插入,创建一个新的结点,然后为新结点的数据域赋值,之后将头结点的数据域赋值给新结点的数据域,也就是null,再将新结点的地址赋给头结点的指针域,这样本来的新结点就变成了链表的最后一个元素,这样循环直到全部元素都插入

尾插法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值