最新国产好看的视频,伊人天堂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)論

文安县| 漳平市| 五常市| 兴文县| 上高县| 吴江市| 甘洛县| 宁国市| 乐昌市| 太和县| 永德县| 米易县| 海安县| 洪雅县| 乌兰察布市| 余江县| 汝南县| 涡阳县| 霸州市| 利川市| 郧西县| 延边| 开封市| 靖安县| 河源市| 平湖市| 星座| 龙州县| 清远市| 体育| 莎车县| 新宁县| 邯郸县| 福鼎市| 大英县| 乐至县| 张北县| 福鼎市| 徐闻县| 平定县| 营口市|