排序算法(1):直接插入排序-一、实现思路时间:2024-03-05 20:52:16 1.1 步骤 将整个数组分组两部分,左边和右边部分; 在排序的过程中,无需管右边部分的顺序,只需要保证左边始终有序; 遍历从左到右,每遍历到一个新的元素,都将其取出; 然后在保证顺序的左边部分中寻找其应该的位置; 即,从该元素位置向左遍历,并判断是否应该插入; 如不能插入,则将判断的元素向右移位,反之插入; 如此反复直至遍历完成,那么整个数组都是有序的了。 1.2 流程图 注:以下面 C++ 语言的实现过程为准 True True False True False True 开始 结束 接收参数:T* arr, int n 判断:j ≥ 0 ? 判断:tmp < arr[i] ? 判断:i < n ? 定义:T tmp 定义:int j 定义:int i 右移:arr[j + 1] = arr[j] 插入:arr[j + 1] = tmp j-- i++ 赋值:j = i - 1 赋值:tmp = arr[i] 赋值:i = 1