head_insert
リンクされたリストの先頭に新しいノードを挿入するコードの下に添付しています。関数は で呼び出されhead_insert(head)
ます。
関数の最初の引数の構文についてはよくわかりません。代わりに期待しNodePtr
ていたのは、既にポインターであるためです。以下を参照してください。
head が既にポインターであるためだけNodePtr &head
でなく、コードが使用するのはなぜですか?NodePtr 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;