标题: 【基于C的排序算法】插入排序之直接插入排序 [打印本页] 作者: 杨利霞 时间: 2022-9-14 16:31 标题: 【基于C的排序算法】插入排序之直接插入排序 【基于C的排序算法】插入排序之直接插入排序 5 S0 o7 E5 d3 p6 y4 S: l' X* P - f5 }( n# Z# _: Q' |前言 . x$ Y1 }4 }- Z/ t7 x本文基于C语言来分享一波笔者对于排序算法的插入排序中的直接插入排序的学习心得与经验,由于水平有限,纰漏难免,欢迎指正交流。 / R" ~' A2 Q% J+ P$ Q + v. v% ^9 o0 _直接插入排序: {' g6 ^! D3 E' L
直接插入排序是一种简单的插入排序法,其基本思想是 :! H Z0 ]8 P- b9 R6 ^' D
4 ?- s' R O# t3 T) P 把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为 : N$ F. K8 {# S止,得到一个新的有序序列 。3 Y/ {' U: B7 Y) e% g& o3 z. L' a
实际中我们玩扑克牌时,就用了插入排序的思想* R- M7 p; E8 ^# r4 B% ]" `1 w
* |: i' s- q! n. A7 r
4 r. V/ C$ d D r# v4 ^! V, A- n! P! m T
当插入第i(i>=1)个元素时,前面的array[0],array[1],…,array[i-1]已经排好序,此时用array的排序码与 " L' S0 I" ]6 W3 | Qarray[i-1],array[i-2],…的排序码顺序进行比较,找到插入位置即将array插入,原来位置上的元素顺序后移。 . I L/ |, [/ Y! | + V/ t1 v$ H& r3 E% w1 D- Z升序排列的示例: k8 [" ^, r" H* v: ?