单链表的读取:
获得链表第i个数据的算法思路:
1.声明一个结点p指向链表的第一个结点,初始化j从1开始
2.当j<i时就遍历链表让p的指针向后移动,不断指向下一结点,j累加1
3.若到链表末尾p为空,则说明第i个元素不存在
4.否则查找成功,返回结点p的数据
单链表的插入和删除:
单链表第i个数据插入结点的算法思路:
1.声明一个结点p指向链表的第一个结点,初始化j从1开始
2.当j<i时就遍历链表让p的指针向后移动,不断指向下一结点,j累加1
3.若到链表末尾p为空,则说明第i个元素不存在
4.否则查找成功,在系统中生成一个空结点s
5.将数据元素e赋值给s->data
6.单链表的插入标准语句s->next=p->next p->next=s
7.返回成功
单链表第个数据删除结点的算法思路:
1.声明一个结点p指向链表第一个结点,初始化j从1开始
2.当j<i时就遍历链表让p的指针向后移动,不断指向下一结点,j累加1
3.若到链表末尾p为空,则说明第i个元素不存在
4.否则查找成功,将欲删除的结点p->next赋值给q
5.单链表的删除标准语句p->next=q->next
6.将q结点中的数据赋值给e,作为返回
7.释放q结点
8.返回成功
单链表的整表创建:
单链表整表创建的算法思路:
1.声明一结点p和计数器变量
2.初始化一空链表L
3.让L的头结点的指针
4.循环:
(1)生成一新结点赋值给p
(2)随机生成一数字赋给p的数据域p->data
(3)将p插入到头结点与前一新结点之前