# 408-数据结构-线性表-直接插入排序在链表中的应用

本文介绍了如何在带头结点的单链表中应用直接插入排序算法,使链表元素有序递增。算法逻辑包括构建初始有序链表,然后遍历原链表,将每个元素插入到已排序链表的正确位置。主要思想涉及双结点扫描和直接插入排序法。
摘要由CSDN通过智能技术生成

408-数据结构-线性表-直接插入排序在链表中的应用

设存在一个带头结点的单链表L,设计一个算法使其有序递增。

1.算法逻辑:

①先构成只有头结点与第一个元素的单链表;

②然后依次扫描原单链表中的剩余的结点*p(直至p=null);

③每次取出后,将该结点与①中构成的链表(有序表)的元素比较,并插入合适位置。

PS:如何实现第③步?

Ⅰ.在有序表中建立工作结点*pre;

Ⅱ.逐次按有序表的下标递增寻找,表中小于取出结点p的最大值点;(寻找合适位置的意思)

Ⅲ通过链表的插入操作,将结点放在Ⅱ中所寻结点之后。

2.对应伪代码:

Void Sort(Linklist &L){
   
	
	Lnode *p;
	Lnode *q;          //双工作结点针 
	
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值