插入排序算法主要分为:直接插入算法,折半排序算法(二分插入算法),希尔排序算法,后两种是直接插入算法的改良。因此直接插入算法是基础,这里先进行直接插入算法的分析与编码。 直接插入算法的排序思想:假设有序数组从小到大为array[0],array[1],array[2],...,array[n-2],array[n-1],那么将待排数值array[n]与...
插入累排序:(直接插入,折半插入,希尔排序) 直接插入排序: 先将序列中第 1 个记录看成是一个有序子序列, 然后从第 2 个记录开始,逐个进行插入,直至整个序列有序。 通常是先把第一个记录看成是一个有序的序列,然后从第二个记录开始依次进行比较 r2处的38比第一个记录 r1处的49小,那么38插入到49的前面,把...
排序,即对于一个序列进行排列,使排列完成序列中的关键字保持有序。出于此需求,诞生了诸多排序算法,在此系列博客中,选择其中较为经典的8种进行说明。 通常,衡量一个排序算法优劣的标准有算法的稳定性、以及时间复杂度和空间复杂度 算法的稳定性:对一个待排序的序列,
1//递增排序2voidinsertSort(intlist[])3{4intj =0;5inti =0;6inttemp =0;7//对待排序列直接插入排序8//一般把第一个记录先看成是有序子序列,然后从第二个记录开始,逐个的和前面去比较,插入9for(i =1; i <=8; i++) {10//和前面的有序子序列的记录,逐个的比较,直接插入11if(list[i] < l...
插入累排序:(直接插入,折半插入,希尔排序) 直接插入排序: 先将序列中第 1 个记录看成是一个有序子序列, 然后从第 2 个记录开始,逐个进行插入,直至整个序列有序。 通常是先把第一个记录看成是一个有序的序列,然后从第二个记录开始依次进行比较 r2处的38比第一个记录 r1处的49小,那么38插入到49的前面,把...