全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

C语言基本排序算法之shell排序实例

本文实例讲述了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小时内与您取得联系。