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