-
题目链接:147. 对链表进行插入排序
-
考查知识:单链表(排序:删除+后插)
-
题意描述:给定不带头结点的链表,对其按升序插入排序并返回排序后的链表 。
-
思路简析:
- 建立链表伪头结点,方便对第一个结点进行前插,p为有序链链尾指针(初始化为第一个结点head),q为无序链链首指针(即p直接后继,遍历过程中根据p的位置进行实时更新)
- 然后在无序链还有结点的情况下遍历无序链,如果无序链链首结点q权值比有序链尾结点p权值小,则让有序链尾指针p后移(当且仅当这种情况下有序链尾指针p后移!!!)
- 否则删除该无序链首结点,在整个有序链从头结点开始,找应该插入位置的前驱pre,做前插操作
147. 对链表进行插入排序(单链表(排序:删除+后插))
于 2022-04-13 15:32:48 首次发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)