图解链表:
● 建立动态链表
待插入的结点p1数据部分初始化,该结点被头结点head、尾结点p2同时指向
1.任务是开辟结点和输入数据
2.并建立前后相链的关系
p1重复申请待插入结点空间,对该结点的数据部分赋值(或输入值)
P2->next 指向p1新开辟的结点。
P2指向新结点p2=p1
● 遍历链表
1.单向链表总是从头结点开始的;
2.每访问一个结点,就将当前指针向该结点的下一个结点移动:
p=p->next;
3.直至下一结点为空 P=NULL
● 删除节点
删除结点原则:不改变原来的排列顺序,只是从链表中分离开来,撤消原来的链接关系。
两种情况:
1、要删的结点是头指针所指的结点则直接操作;
2、不是头结点,要依次往下找。另外要考虑:空表和找不到要删除的结点
需要由两个临时指针:P1: 判断指向的结点是不是要删除