任务:链表
释放链表:
void release(Node *head)
{
if(head==0){cout<<"链表为空!\n";return;}
Node *p;
while(head){
p=head;
head=head->next; //头指针不断后移,指向链表的各结点
delete p; //释放p所指向结点的内存空间
}
cout<<"结点空间释放完毕!\n";
}
链表的插入:
p->next=0;head=p //原链表是空表,头指针head的值为NULL,将指针变量P指向的结点插入时,既是首结点也是尾结点。
p->next=head; //将原链表的首结点连到p所指向的结点后面
head=p; //然后使头指针指向p所指向的结点;这是把插入的结点当作首结点。
p1=p2=head; //两个结点之间插入结点(理解不深)
p1=p2;p2=p2->next;
p2->next=p;p->next=0;
p1->next=p;p->next=p2;
明日任务:看程序,充分理解知识