最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語(yǔ)言基本排序算法之shell排序?qū)嵗?/h1>
 更新時(shí)間:2017年09月27日 10:35:14   作者:liyuxia713  
這篇文章主要介紹了C語(yǔ)言基本排序算法之shell排序,結(jié)合具體實(shí)例形式分析了基于C語(yǔ)言的shell排序原理與實(shí)現(xiàn)技巧,代碼注釋中備有詳細(xì)的說(shuō)明,需要的朋友可以參考下

本文實(shí)例講述了C語(yǔ)言基本排序算法之shell排序。分享給大家供大家參考,具體如下:

shell排序是對(duì)直接插入方法的改進(jìn)方法.

/*-------------------------------------------------------------------------------------
Shell_sort.h
shell排序是對(duì)直接插入方法的改進(jìn),它并不是對(duì)相鄰元素進(jìn)行比較,而是對(duì)一定間隔的元素比較.
選擇增量序列的幾種方法:(為方便,本例采用第一種增量序列)
1. h[1]=size, h[k] = h[k-1]/2.
  最壞運(yùn)行時(shí)間為O(N^2).
  最壞情形:數(shù)組長(zhǎng)度為2^n,數(shù)組的偶數(shù)位置上同是一個(gè)數(shù),奇數(shù)位置上也同是一個(gè)數(shù),
       且比偶數(shù)位置的小。此時(shí)到最后一次遍歷前shell排序?qū)嶋H上什么也沒(méi)做。
       最后一次遍歷相當(dāng)于直接插入方法。
2. Hibbard增量序列: h = 1,3,7,,2^k-1
  這個(gè)的區(qū)別于上的主要的特點(diǎn)是相鄰增量沒(méi)有公因子
  最壞運(yùn)行時(shí)間為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

希望本文所述對(duì)大家C語(yǔ)言程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • C++中的數(shù)組你真的理解了嗎

    C++中的數(shù)組你真的理解了嗎

    這篇文章主要為大家詳細(xì)介紹了C++的數(shù)組,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • Objective-C中常用的結(jié)構(gòu)體NSRange,NSPoint,NSSize(CGSize),NSRect實(shí)例分析

    Objective-C中常用的結(jié)構(gòu)體NSRange,NSPoint,NSSize(CGSize),NSRect實(shí)例分析

    這篇文章主要介紹了Objective-C中常用的結(jié)構(gòu)體NSRange,NSPoint,NSSize(CGSize),NSRect實(shí)例分析,有助于更加直觀的理解Object-C常用的結(jié)構(gòu)體,需要的朋友可以參考下
    2014-07-07
  • c語(yǔ)言 malloc函數(shù)詳解

    c語(yǔ)言 malloc函數(shù)詳解

    這篇文章主要介紹了c語(yǔ)言 malloc函數(shù)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 詳解C++ bitset用法

    詳解C++ bitset用法

    這篇文章主要介紹了C++ bitset用法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • C/C++?引用作為函數(shù)的返回值方式

    C/C++?引用作為函數(shù)的返回值方式

    這篇文章主要介紹了C/C++?引用作為函數(shù)的返回值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • C++筆記-設(shè)置cout輸出數(shù)據(jù)的寬度和填充方式

    C++筆記-設(shè)置cout輸出數(shù)據(jù)的寬度和填充方式

    這篇文章主要介紹了C++筆記-設(shè)置cout輸出數(shù)據(jù)的寬度和填充方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C++基于隨機(jī)數(shù)實(shí)現(xiàn)福彩雙色球的方法示例

    C++基于隨機(jī)數(shù)實(shí)現(xiàn)福彩雙色球的方法示例

    這篇文章主要介紹了C++基于隨機(jī)數(shù)實(shí)現(xiàn)福彩雙色球的方法,結(jié)合完整實(shí)例形式分析了C++隨機(jī)數(shù)算法的實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下
    2017-06-06
  • C++操作.json文件的超詳細(xì)新手教程

    C++操作.json文件的超詳細(xì)新手教程

    最近因?yàn)轫?xiàng)目原因需要解析JSON格式數(shù)據(jù),所以這篇文章主要給大家介紹了關(guān)于C++操作.json文件的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • C++實(shí)現(xiàn)四則混合運(yùn)算計(jì)算器

    C++實(shí)現(xiàn)四則混合運(yùn)算計(jì)算器

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)四則混合運(yùn)算計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • C語(yǔ)言線性表順序存儲(chǔ)結(jié)構(gòu)實(shí)例詳解

    C語(yǔ)言線性表順序存儲(chǔ)結(jié)構(gòu)實(shí)例詳解

    這篇文章主要介紹了C語(yǔ)言線性表順序存儲(chǔ)結(jié)構(gòu)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06

最新評(píng)論

施秉县| 泰兴市| 景德镇市| 萍乡市| 阿合奇县| 峨眉山市| 固安县| 分宜县| 年辖:市辖区| 天水市| 满洲里市| 东兰县| 苍梧县| 马尔康县| 洛隆县| 平谷区| 夏津县| 襄城县| 永城市| 从化市| 荥阳市| 遂平县| 建阳市| 双辽市| 连山| 巴彦淖尔市| 西青区| 卢龙县| 金阳县| 荣成市| 交口县| 加查县| 瑞金市| 西青区| 吉首市| 婺源县| 托里县| 精河县| 双桥区| 如东县| 铜梁县|