p=head=new AB; head->next=NULL; q=new AB;p->next=q; p=q; q->next=NULL; q=new AB;

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 22:01:32
p=head=new AB; head->next=NULL; q=new AB;p->next=q; p=q; q->next=NULL; q=new AB;

p=head=new AB; head->next=NULL; q=new AB;p->next=q; p=q; q->next=NULL; q=new AB;
p=head=new AB; head->next=NULL; q=new AB;p->next=q; p=q; q->next=NULL; q=new AB;

p=head=new AB; head->next=NULL; q=new AB;p->next=q; p=q; q->next=NULL; q=new AB;
p=head=new AB; //p和head指向一个新分配的节点
head->next=NULL; //head所指向的结点的next指针设置成NULL
q=new AB; //利用q指针申请一个新结点
p->next=q; //让p所指向的结点的next指向q结点,启动连接作用,即把p和q结点串起来了
p=q; //p指针指向q所指的结点,即p指针后移了
q->next=NULL; //q结点的next指向NULL
q=new AB; //q再申请一个新结点

总结:这段代码的意思大致是,使用head作为链表的头结点,p用于指向最后一个结点,q用于申请新结点.最开始时,申请第一个结点,p和head指向同一个结点(即第一个结点).接着q每申请一个新节点,就把q挂在链表末尾,这个操作通过p指针实现,因为p一直指向链表末尾.每当挂上一个新节点,p就立刻指向这个新节点,已保证p总是指向链表最后一个结点.

这段代码,最后完的时候q又申请一个新节点,似乎是循环语句的一部分吧.