我附在下面的代码中,head_insert
以在链表的头部插入一个新节点。使用 调用该函数head_insert(head)
。
我不确定函数的第一个参数的语法,我期待的NodePtr
是因为它已经是一个指针,见下文。
为什么代码使用NodePtr &head
而NodePtr head
不仅仅是因为 head 已经是一个指针?
void head_insert(NodePtr & head, int the_number)
{
NodePtr temp_ptr;
temp_ptr=new Node;
temp_ptr->data=the_number;
temp_ptr->link=head;
head=temp_ptr;
}
struct Node
{
int data;
Node *link;
};
typedef Node* NodePtr;