我附在下面的代码中,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;