任务:简单链表
将若干数据节点相连运用一定的原则;
因为链表是通过节点找节点,所以前一个节点需要保存后一个节点的地址信息。
1.节点后移
p>p-next; //p指向一个节点,此格式指向后一个节点;
2.遍历链表
for(Node *p=head;p->next!=NULL;p=p->next); //遍历链表;先使指针变量指向首节点,再后移,一直移到链表的尾节点;
Node *p1;for(Node *p=head;p->next!=NULL;p1=p,p=p->next); //不懂为什么保持p1指向p的前驱节点,可以方便进行其他操作;
3.删除节点
p1->next=p->next;delete p; //假如指针指向的是第一个节点,p指向第二个节点,这个操作是跳过下一个节点到后一个节点
或
p1->next=p->next->next;delete p; //delete释放动态内存空间,相当于删除这个节点
4.插入节点
Node *p=new Node; //定义了一个节点p,下面两行是赋值给p数据
p->num=1234567;
p->score=100;
p1->next=p;p->next=p2; //把p插入到p1,p2之间;也可以写成p->next=p1->next;p1->next=p;(不理解)
明日任务:简单链表