为什么给链表设定指针参数的时候 要传参数双指针而不是单指针
时间: 2023-03-29 21:03:19 浏览: 76
这是因为链表是一个动态数据结构,它的节点在内存中是不连续的,每个节点都需要一个指针来指向下一个节点。当我们需要在链表中插入或删除节点时,需要改变节点的指针,而单指针只能改变指向的节点,无法改变节点本身的指针。因此,我们需要传递指向指针的指针,也就是双指针,这样才能在函数内部改变节点的指针。
相关问题
为什么在单循环链表中设置尾指针比设置头指针好?
在单循环链表中,设置尾指针比设置头指针更方便一些,原因如下:
1. 插入操作的实现更简单。如果使用头指针,每次插入或删除操作都需要遍历整个链表找到尾节点,然后再进行操作。而使用尾指针,则可以直接在尾节点后插入或删除节点,不需要遍历整个链表。
2. 遍历操作也更方便。如果使用头指针,需要先找到头节点,然后才能开始遍历整个链表。而使用尾指针,则可以从尾节点开始遍历,这样可以更方便地实现一些特定的操作,比如从链表末尾开始删除节点。
3. 实现代码的可读性更好。使用尾指针可以使代码更加简洁明了,因为不需要在每个操作中都进行头节点和尾节点的判断。
综上所述,单循环链表中设置尾指针比设置头指针更为方便和实用。
链表为什么不传二级指针
链表中每个节点都包含一个指向下一个节点的指针,如果我们要在链表中插入、删除或者修改某个节点,只需要修改该节点的指针即可,不需要修改指向该节点的指针的值。
因此,在链表操作中,我们通常只需要传入指向该节点的指针即可完成操作,不需要传入二级指针。
需要注意的是,在链表头节点的插入和删除操作中,我们需要修改指向链表头节点的指针的值,这时可以传入指向该指针的指针,也就是二级指针,但是在实际实现中,我们也可以返回新的链表头节点的指针,避免使用二级指针。