C++关于指针链表的问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 17:27:09
用指针建立一个链表:
void outputlist(node *head) 链表的输出
void insertlist(node **head,int aData,bData) 链表的建立和插入
void deletelist(node **head,int aData) 链表的删除。
请问,上面三个函数,为什么链表的输出用的是一级指针,而建立链表和删除链表都是用二级指针呢?请给我一个详细的说明。谢谢了!

在第一个函数里,head是一个指向链表的头指针的指针,node是链表节点的类型名,这里*head当然是指向链表头节点的指针;
第二和第三个一样.这里本可以用引用的(&*head),这里都是对链表节点元素的操作,要具体到节点的内部,**head就是头节点,已经不是地址了.
但你的第二个函数似乎不是建立链表的,要是插入还说的通;总体说你这写的不具体,我也不知道你怎么建的,但最好用引用,简单明了;