博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
希尔排序代码实现
阅读量:6265 次
发布时间:2019-06-22

本文共 1368 字,大约阅读时间需要 4 分钟。

// 希尔排序1void ShellSort1(int data[], int count){    int step = 0;    int auxiliary = 0;    for (step = count / 2; step > 0; step /= 2)    {        for (int i = 0; i < step; ++i)        {            for (int j = i + step; j < count; j += step)             {                 // 直接插入排序                if (data[j] < data[j - step])                {                    auxiliary = data[j];                    int k = j - step;                    while (k >= 0 && data[k] > auxiliary)                    {                        data[k + step] = data[k];                        k -= step;                    }                    data[k + step] = auxiliary;                }            }        }    }}// 希尔排序2void ShellSort2(int data[], int count){    int step = 0;    int auxiliary = 0;    for (step = count / 2; step > 0; step /= 2)    {        // 从数组第step个元素开始        for (int i = step; i < count; i++)         {            // 每个元素与自己组内的数据进行直接插入排序            if (data[i] < data[i - step])             {                auxiliary = data[i];                int j = i - step;                while (j >= 0 && data[j] > auxiliary)                {                    data[j + step] = data[j];                    j -= step;                }                data[j + step] = auxiliary;            }        }    }}

 

转载于:https://www.cnblogs.com/zhuyf87/archive/2012/12/31/2840293.html

你可能感兴趣的文章
leetcode278
查看>>
CodeForces-771D-Bear and Company
查看>>
PAT 1032 Sharing
查看>>
Extjs设置或获取cookie
查看>>
CC2541蓝牙BLE4.0主从透传工程
查看>>
iOS OC中block使用
查看>>
python之路--操作系统介绍,进程的创建
查看>>
markdown语法小结
查看>>
Java Gui 设计模式中的事件监听
查看>>
JavaSE-final关键字
查看>>
python自动化开发-1
查看>>
Remote远程特性的使用
查看>>
orm在django中的简单使用
查看>>
poj 2373 Dividing the Path
查看>>
dplyr 数据操作 常用函数(4)
查看>>
A股实时股票行情,指数行情web API 使用方法
查看>>
大整数算法[04] 位操作
查看>>
C# Parsing 类实现的 PDF 文件分析器
查看>>
汇编学习(1)
查看>>
Google招聘 Lead Software Engineer
查看>>