数据结构最常用的排序方法1直接插入法

本文介绍了数据结构中常用的排序方法之一——直接插入排序。该方法通过比较待排序元素与已排序序列中的元素,逐步将较小的元素插入到合适的位置。以升序为例,详细描述了如何将38插入到序列中,涉及哨兵的概念和作用,以及如何调整已排序序列的过程。
摘要由CSDN通过智能技术生成

1.直接插入排序
基本思想:每一步将未排序的数按照大小插入前面已经排好的序列中
| 0 | 1 | 2 | 3 | 4 | 5 | 6 |
|哨兵|49|38|65|97| 76 | 13 |

0,1,2,3,4,5,6表示一维数组序列,第一个设置为哨兵(哨兵的作用可以理解为先占据一个空间,判断待排序的数与已排好数进行比较,符合判断条件,将带排序的数先放在哨兵位置上,其他位置后移)

例如,按照升序排列,49是已排好的序列,将38与49比较,38是待排序的数,与49进行比较,38比49小,将38复制给哨兵,此时38的空间释放出来。
| 0 | 1 | 2 | 3 | 4 | 5 | 6 |
| 38 |49| | 65 |97| 76 | 13 |

49向后移
| 0 | 1 | 2 | 3 | 4 | 5 | 6 |
| 38 | | 49 | 65 |97| 76 | 13 |

再判断38与第一个位置大小,如果大于再进行交换,否则后移
| 0 | 1 | 2 | 3 | 4 | 5 | 6 |
| | 38 | 49 | 65 |97| 76 | 13 |

程序:

void Insertsort(a[
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值