3-间隔插入排序C实现(希尔排序铺垫)
生活随笔
收集整理的這篇文章主要介紹了
3-间隔插入排序C实现(希尔排序铺垫)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、
函數(shù):void Inc_Sort(int* head,int low,int high,int Step_L,int Bool)
參數(shù)解釋
head:數(shù)組指針
[low, high]:需排序的數(shù)組范圍
Step_L:需排序步長
Bool:等于1表示從小到大排序,不等于1從大到小排序
說明
反向掃描數(shù)組中i到low范圍
遇到更大的值則交換,遇到更小的值則進行下一次循環(huán),通過交換,使得數(shù)組low到i范圍始終有序
Step_L=1時
第一步對下標low+{0,1,2,3,4,5…}插入排序
Step_L=2時
第一步對下標low+{0,2,4,6,8,10…}插入排序
Step_L=3時
第一步對下標low+{0,3,6,9,12,15…}插入排序
以此類推
此方法每遇到更大的值需要交換一次
最多的交換次數(shù)為第一層循環(huán)次數(shù)*第二層循環(huán)次數(shù)(第二層循環(huán)每一次循環(huán)都需要交換)
總結(jié)
以上是生活随笔為你收集整理的3-间隔插入排序C实现(希尔排序铺垫)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3-插入排序C实现(递增递减的简单转换)
- 下一篇: 4-希尔排序C实现(递增递减的简单转换)