本文实例讲述了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
相关文章:
Swift中循环语句中的转移语句 break 和 continue
建站之星2.7模板快速切换与批量管理功能操作指南
如何通过FTP服务器快速搭建网站?
如何用IIS7快速搭建并优化网站站点?
如何制作网站标识牌,动态网站如何制作(教程)?
如何在云主机上快速搭建网站?
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
威客平台建站流程解析:高效搭建教程与设计优化方案
常州自助建站工具推荐:低成本搭建与模板选择技巧
中山网站推广排名,中山信息港登录入口?
北京的网站制作公司有哪些,哪个视频网站最好?
如何通过网站建站时间优化SEO与用户体验?
开源网站制作软件,开源网站什么意思?
如何自定义建站之星模板颜色并下载新样式?
b2c电商网站制作流程,b2c水平综合的电商平台?
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?
常州企业网站制作公司,全国继续教育网怎么登录?
如何通过山东自助建站平台快速注册域名?
家庭服务器如何搭建个人网站?
如何用wdcp快速搭建高效网站?
油猴 教程,油猴搜脚本为什么会网页无法显示?
高性价比服务器租赁——企业级配置与24小时运维服务
C++如何将C风格字符串(char*)转换为std::string?(代码示例)
定制建站哪家更专业可靠?推荐榜单揭晓
模具网站制作流程,如何找模具客户?
如何在局域网内绑定自建网站域名?
建站之星后台搭建步骤解析:模板选择与产品管理实操指南
如何选择域名并搭建高效网站?
香港服务器部署网站为何提示未备案?
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
制作网站的模板软件,网站怎么建设?
深圳网站制作平台,深圳市做网站好的公司有哪些?
javascript中对象的定义、使用以及对象和原型链操作小结
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
建站主机系统SEO优化与智能配置核心关键词操作指南
如何在IIS管理器中快速创建并配置网站?
大连网站设计制作招聘信息,大连投诉网站有哪些?
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
如何在Windows服务器上快速搭建网站?
视频网站app制作软件,有什么好的视频聊天网站或者软件?
北京制作网站的公司,北京铁路集团官方网站?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
*服务器网站为何频现安全漏洞?
如何通过虚拟主机空间快速建站?
小程序网站制作需要准备什么资料,如何制作小程序?
制作证书网站有哪些,全国城建培训中心证书查询官网?
专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?
c++怎么用jemalloc c++替换默认内存分配器【性能】
网站制作新手教程,新手建设一个网站需要注意些什么?
*请认真填写需求信息,我们会在24小时内与您取得联系。