1、静态链表遍历及节点个数统计
运行结果如下:lianbiao three num 12345 Link num:5
2、链表的查找
其实就是在链表中不断遍历你想要找到的数,如果遍历查找的数等于你要找的数,表示链表中有这个数,否则表示链表中没有你要查找的数。
运行结果如下:input a num 1 this link have 1 input a num 7 this link no 7
表示链表中有1,没有7。如果我想改查找到的这个数,要怎么操作呢?只需要遍历到你要找的数,改成你需要改的值即可。head->data == data; head->data =newdata;
3、链表的改值
运行结果如下:
4、链表删除
运行结果如下:删除前链表里数据为1 2 3 删除后链表里数据为:1 3
5、静态链表头插法和尾插法:
头插法:1、插在链表头前,即插入的数为第一个数 ,让新插入的数的尾巴指向链表头new-next = head;
2.、插入的数不是在链表头之前,让新插入的数指向链表之前指向的位置,当前数字尾巴指向插入的数。new->next = p->next;p->next = new;
尾插法:插入的数在哪一个数后面,让这个数的尾巴地址赋值给新插入的数,让这个数的尾巴指向新插入数new->next = p->next;p->next = new;
运行结果如下:
123 //原始链表
666128883 // 头插法后链表
666129998883 // 头插法尾插法后链表
6、动态链表—头插法
7、动态链表—尾插法
动态链表头插法运行结果:
动态链表尾插法运行结果:
动态链表头插法和尾插法特点如下:
头插法特点:每一次添加的新节点就是一个新的链表头。因此,最后一个插入的数就是该链表的head。
new->next = head; head = new;
尾插法特点:第一次创建链表添加的数始终作为该链表的head,后面插入的数按顺序依次排列。
new->next = p->next;p->next = new;