直接插入排序法(C语言实现)
2018-03-19 15:36
232 查看
插入法排序:
通过数据移动,留出合适位置插入顺序合适的值,而无须数据交换
步骤:
从第二个元素“i”开始缓存准备用于比较,并留出一个空位将空位前的元素“j”拿来与缓存值比较不满足则移动,直到向前找到头比较的目的是要让缓存值插入后成为从开头到插入点这个区间中的最值如果缓存值向前看不是最值,则往后移动,直到可以让缓存值插入后成为最值时停止将缓存值插入到最值位置(即内循环下一个将要移动的位置)。
demo:
通过数据移动,留出合适位置插入顺序合适的值,而无须数据交换
步骤:
从第二个元素“i”开始缓存准备用于比较,并留出一个空位将空位前的元素“j”拿来与缓存值比较不满足则移动,直到向前找到头比较的目的是要让缓存值插入后成为从开头到插入点这个区间中的最值如果缓存值向前看不是最值,则往后移动,直到可以让缓存值插入后成为最值时停止将缓存值插入到最值位置(即内循环下一个将要移动的位置)。
demo:
//从小到大进行排序 insertsort(int *k,int n) /*直接插入排序*/ { int i,j; int temp; for(i=1;i<n;i++) { temp = k[i]; //将要比较的值先绶存起来留出一个空位,方便移动 j = i - 1; while(j>=0 && k[j]>temp) //比较直到出现比temp大的值,或向前找到头 { k[j+1] = k[j]; //将前面的值往后移 j--; } k[j+1] = temp; //插在a[j]的后面 } }
相关文章推荐
- 直接插入排序的c语言实现
- C语言实现 排序源程序(包括直接插入、希尔、冒泡、快速、简单选择、堆排序)
- 数据结构之---C语言实现直接插入排序
- C语言实现直接插入排序和希尔排序
- (数据结构排序的实验四)快速,冒泡,简单选择,直接插入排序的c语言实现!!
- C语言实现直接插入排序,冒泡排序以及二分查找(巩固理解记忆)
- C语言实现直接插入排序—从小到大排
- 数据结构 查找及排序算法、直接插入排序及顺序查找(c语言实现)
- C语言实现直接插入排序
- 简单了解C语言中直接插入排序与直接选择排序实现
- C语言实现直接插入排序
- C语言实现直接插入排序
- c语言实现直接插入排序(正序和逆序)
- C语言8种排序算法及其实现 1.希尔排序 2.二分插入法 3.直接插入法 4.带哨兵的直接排序法 5.冒泡排序 6.选择排序 7.快速排序 8.堆排序
- C语言实现 排序源程序(包括直接插入、希尔、冒泡、快速、简单选择、堆排序)
- C语言实现冒泡和直接插入排序
- 排序之一:直接插入排序(C语言实现)
- C语言直接插入排序和折半插入排序算法的实现
- C语言实现选择排序、直接插入排序、冒泡排序的示例
- 排序【4】之直接插入排序的C语言实现