本文实例讲述了C语言基本排序算法之shell排序。分享给大家供大家参考,具体如下:

shell排序是对直接插入方法的改进方法.
/*-------------------------------------------------------------------------------------
Shell_sort.h
shell排序是对直接插入方法的改进,它并不是对相邻元素进行比较,而是对一定间隔的元素比较.
选择增量序列的几种方法:(为方便,本例采用第一种增量序列)
1. h[1]=size, h[k] = h[k-1]/2.
最坏运行时间为O(N^2).
最坏情形:数组长度为2^n,数组的偶数位置上同是一个数,奇数位置上也同是一个数,
且比偶数位置的小。此时到最后一次遍历前shell排序实际上什么也没做。
最后一次遍历相当于直接插入方法。
2. Hibbard增量序列: h = 1,3,7,,2^k-1
这个的区别于上的主要的特点是相邻增量没有公因子
最坏运行时间为O(n^{1.5});
3. Sedgewick增量序列:{1,5,19,41,109,}
-------------------------------------------------------------------------------------*/
#ifndef SHELL_SORT_H
#define SHELL_SORT_H
#include "typedef.h"
void Shell_sort(T* a, int n)
{
for(int gap = n; gap > 0; gap = gap/2)
{
for(int i = 0; i != n; ++i)
{
T temp = a[i];
int j = i - gap;
for( ; j >= 0 && a[j] > temp; j = j-gap)
a[j+gap] = a[j];
a[j+gap] = temp;
}
}
}
#endif
希望本文所述对大家C语言程序设计有所帮助。
# C语言
# 排序算法
# shell排序
# 必须知道的C语言八大排序算法(收藏)
# C语言基本排序算法之桶式排序实例
# C语言排序算法之冒泡排序实现方法【改进版】
# C语言基本排序算法之插入排序与直接选择排序实现方法
# C语言 实现归并排序算法
# C语言 奇偶排序算法详解及实例代码
# C语言 冒泡排序算法详解及实例
# c语言5个常用的排序算法实例代码
# 是一个
# 最坏
# 遍历
# 时间为
# 给大家
# 上也
# 所述
# 第一种
# 什么也没
# 本例
# 长度为
# 几种方法
# 特点是
# 讲述了
# 为方便
# amp
# shell
# gt
# size
# Shell_sort
相关文章:
如何破解联通资金短缺导致的基站建设难题?
如何高效搭建专业期货交易平台网站?
如何快速搭建安全的FTP站点?
网站制作知乎推荐,想做自己的网站用什么工具比较好?
北京网站制作网页,网站升级改版需要多久?
黑客入侵网站服务器的常见手法有哪些?
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
如何正确下载安装西数主机建站助手?
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
C++如何编写函数模板?(泛型编程入门)
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
如何在景安服务器上快速搭建个人网站?
如何用花生壳三步快速搭建专属网站?
Bpmn 2.0的XML文件怎么画流程图
javascript中的try catch异常捕获机制用法分析
视频网站制作教程,怎么样制作优酷网的小视频?
如何快速重置建站主机并恢复默认配置?
建站之星云端配置指南:模板选择与SEO优化一键生成
建站之星安装后界面空白如何解决?
如何用西部建站助手快速创建专业网站?
c# await 一个已经完成的Task会发生什么
大连网站设计制作招聘信息,大连投诉网站有哪些?
如何通过宝塔面板实现本地网站访问?
定制建站哪家更专业可靠?推荐榜单揭晓
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?
c# Task.ConfigureAwait(true) 在什么场景下是必须的
建站之星安装步骤有哪些常见问题?
如何通过网站建站时间优化SEO与用户体验?
如何用景安虚拟主机手机版绑定域名建站?
已有域名如何快速搭建专属网站?
建站之星代理平台如何选择最佳方案?
代购小票制作网站有哪些,购物小票的简要说明?
开封网站制作公司,网络用语开封是什么意思?
如何快速配置高效服务器建站软件?
如何在宝塔面板中修改默认建站目录?
制作网站公司那家好,网络公司是做什么的?
如何在云指建站中生成FTP站点?
官网建站费用明细查询_企业建站套餐价格及收费标准指南
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
油猴 教程,油猴搜脚本为什么会网页无法显示?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
如何快速生成橙子建站落地页链接?
如何在Windows 2008云服务器安全搭建网站?
详解jQuery停止动画——stop()方法的使用
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
建站VPS推荐:2025年高性能服务器配置指南
网站制作新手教程,新手建设一个网站需要注意些什么?
5种Android数据存储方式汇总
*请认真填写需求信息,我们会在24小时内与您取得联系。