码迷,mamicode.com
首页 > 其他好文 > 详细

希尔排序

时间:2014-08-13 12:59:06      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   数据   for   ar   div   

测试代码如下。

/**
    @hushunfeng
    希尔排序
    从小到大排列
*/
#include<stdio.h>


//单次希尔排序,即一次直接插入排序
//array为需要排序的数组
//dk为希尔排序算法中的增量
void shellInsert(int *array,int dk) {
    //---
    int i;
    int j;
    int arraySize = 10;
    for(i=0;(i+dk)<arraySize;i++) {
        //待插入的数据进行缓存
        int temp = array[i+dk];
        for(j=i;j>=0;j-=dk) {
            if(array[j+dk]<array[j]) {
                array[j+dk] = array[j];
            }
            else
                break;
        }
        //将temp的值放到腾空出来的位置中
        array[j+dk] = temp;
    }
}

//iArray为增量序列数组
void shellSort(int *array) {

    int i;
    int iArraySize = 5;

    int iArray[] = {9,5,3,2,1};
    for(i=0;i<iArraySize;i++) {
        shellInsert(array,iArray[i]);
    }
    
}

//main
void main() {
    int i;
    int array[] = {49,38,65,97,76,13,27,49,55,04};
    int arraySize = 10;
    //---
    shellSort(array);
    //排序后输出
    for(i=0;i<arraySize;i++) {
        printf("%d\n",array[i]);
    }
}

希尔排序:需要经过好几轮的插入排序,每轮选取一个增量△。

希尔排序,布布扣,bubuko.com

希尔排序

标签:style   blog   color   io   数据   for   ar   div   

原文地址:http://www.cnblogs.com/hushunfeng/p/3909713.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!