王道408

线性表最值问题

2020-08-05  本文已影响0人  sakura579

找最小值


找最大值

顺序表求最大值


顺序表求最小值


带头结点单链表求最大值


带头结点单链表求最小值


q是 最大值/最小值 的结点的指针

当作小工具 熟记


"删除" 并没有free
要注意的是
q所指结点 也就是最大值结点有可能是双链表的最后一个
这个时候定义的r 它的值为NULL
所以要判断一下
当其为NULL的时候 就不需要使r的 llink 指针指向 l 了


开头留的另一道题



关键就在于定位
如何在两个链表中定位出这么两个结点
他们到共享结点的距离相同

数一下两个链表长度
用较长的链表减去较短的链表 得一个差值
然后用一个指针从较长的链表的表头开始走这个差值的距离
另一个指针指向较短的链表的第一个结点
这样就实现了定位
两个指针所指结点与第一个共享结点距离相同

第一问


第二问


两个for循环 可能只执行一个 也可能都不执行(长度相等)

while循环 当p=q时 意味有共享结点 退出循环 或者p为空时 意味没有共享结点

上一篇下一篇

猜你喜欢

热点阅读