找最小值
找最大值
顺序表求最大值
顺序表求最小值
带头结点单链表求最大值
带头结点单链表求最小值
q是 最大值/最小值 的结点的指针
当作小工具 熟记
"删除" 并没有free
要注意的是
q所指结点 也就是最大值结点有可能是双链表的最后一个
这个时候定义的r 它的值为NULL
所以要判断一下
当其为NULL的时候 就不需要使r的 llink 指针指向 l 了
开头留的另一道题
关键就在于定位
如何在两个链表中定位出这么两个结点
他们到共享结点的距离相同
数一下两个链表长度
用较长的链表减去较短的链表 得一个差值
然后用一个指针从较长的链表的表头开始走这个差值的距离
另一个指针指向较短的链表的第一个结点
这样就实现了定位
两个指针所指结点与第一个共享结点距离相同
第一问
第二问
两个for循环 可能只执行一个 也可能都不执行(长度相等)
while循环 当p=q时 意味有共享结点 退出循环 或者p为空时 意味没有共享结点
网友评论