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

希爾排序的算法代碼

 更新時間:2013年03月09日 21:56:02   作者:  
希爾排序也是一種插入排序方法,實際上是一種分組插入方法。

希爾排序的時間復雜度為O(n*log2n) 空間復雜度為O(1)是一種不穩(wěn)定的排序算法

思想:希爾排序也是一種插入排序方法,實際上是一種分組插入方法。先取定一個小于n的整數(shù)d1作為第一個增量,把表的全部記錄分成d1個組,所有距離為d1的倍數(shù)的記錄放在同一個組中,在各組內(nèi)進行直接插入排序;然后,取第二個增量d2(<d1),重復上述的分組和排序,直至所取的增量dt=1(dt<dt-1<…<d2<d1),即所有記錄放在同一組中進行直接插入排序為止。   

復制代碼 代碼如下:

void ShellSort(int* data ,int length)
{
    if( data == NULL || length <= 0 )
        return;

    int d = length/2;  //步長
    while( d )
    {
        for(int i = 0 ; i < d ; ++i) //根據(jù)步長分成組,對每組進行插入排序
        {
            //插入排序
            for(int j = i+d; j <length ; j +=d )
            {
                if( data[j] < data[j -d])
                {
                    int temp = data[j]; //哨兵
                    int k = j-d;
                    for(; k >=0&& temp < data[k]; k -=d)
                    {
                        data[k+d] =data[k];
                    }
                    data[k+d] =temp;
                }
            }
        }
        d = d/2;
    }
}

相關(guān)文章

  • Springboot logback-spring.xml無法加載問題

    Springboot logback-spring.xml無法加載問題

    這篇文章主要介紹了Springboot logback-spring.xml無法加載問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Spring中七種事務傳播機制詳解

    Spring中七種事務傳播機制詳解

    這篇文章主要介紹了Spring中七種事務傳播機制詳解,Spring在TransactionDefinition接口中規(guī)定了7種類型的事務傳播行為,Propagation枚舉則引用了這些類型,開發(fā)過程中我們一般直接用Propagation枚舉,需要的朋友可以參考下
    2024-01-01
  • 從內(nèi)存方面解釋Java中String與StringBuilder的性能差異

    從內(nèi)存方面解釋Java中String與StringBuilder的性能差異

    我們通常會發(fā)現(xiàn)使用StringBuffer或StringBuilder創(chuàng)建出來的字符串在拼接時回避String要來得快,尤其是StringBuilder,本文就從內(nèi)存方面解釋Java中String與StringBuilder的性能差異,需要的朋友可以參考下
    2016-05-05
  • elasticsearch節(jié)點的transport請求發(fā)送處理分析

    elasticsearch節(jié)點的transport請求發(fā)送處理分析

    這篇文章主要為大家介紹了elasticsearch節(jié)點的transport請求發(fā)送處理分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • QR 二維碼中插入圖片實現(xiàn)方法

    QR 二維碼中插入圖片實現(xiàn)方法

    這篇文章主要介紹了QR 二維碼中插入圖片實現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • 如何使用MyBatis框架實現(xiàn)增刪改查(CRUD)操作

    如何使用MyBatis框架實現(xiàn)增刪改查(CRUD)操作

    本文主要介紹了如何使用MyBatis框架實現(xiàn)增刪改查(CRUD)操作。首先介紹了MyBatis框架的基本概念和使用方法,然后分別介紹了如何使用MyBatis實現(xiàn)增刪改查操作。最后,通過一個簡單的示例演示了如何使用MyBatis框架實現(xiàn)CRUD操作。
    2023-05-05
  • 使用idea搭建spring項目,利用xml文件的形式進行配置方式

    使用idea搭建spring項目,利用xml文件的形式進行配置方式

    本文介紹了如何使用SpringIOC和SpringDI的思想開發(fā)一個打印機模擬程序,實現(xiàn)了靈活配置彩色墨盒或灰色墨盒以及打印頁面大小的功能,通過創(chuàng)建接口和實現(xiàn)類,并在配置文件中進行依賴注入,實現(xiàn)了控制反轉(zhuǎn)
    2024-11-11
  • SpringBoot整合RocketMQ實現(xiàn)消息發(fā)送和接收的詳細步驟

    SpringBoot整合RocketMQ實現(xiàn)消息發(fā)送和接收的詳細步驟

    這篇文章主要介紹了SpringBoot整合RocketMQ實現(xiàn)消息發(fā)送和接收功能,我們使用主流的SpringBoot框架整合RocketMQ來講解,使用方便快捷,本文分步驟給大家介紹的非常詳細,需要的朋友可以參考下
    2021-08-08
  • Java?基于Hutool實現(xiàn)DES加解密示例詳解

    Java?基于Hutool實現(xiàn)DES加解密示例詳解

    這篇文章主要介紹了Java基于Hutool實現(xiàn)DES加解密,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • 基于Mock測試Spring MVC接口過程解析

    基于Mock測試Spring MVC接口過程解析

    這篇文章主要介紹了基于Mock測試Spring MVC接口過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11

最新評論

财经| 忻城县| 勃利县| 车险| 岗巴县| 酒泉市| 济阳县| 鄂托克前旗| 叶城县| 万年县| 鸡东县| 九江县| 沿河| 兴化市| 蕉岭县| 西宁市| 定兴县| 社会| 天峻县| 文安县| 郓城县| 乌兰察布市| 双流县| 鹰潭市| 廊坊市| 璧山县| 常德市| 陈巴尔虎旗| 马尔康县| 神农架林区| 合阳县| 永修县| 祁连县| 津市市| 嘉峪关市| 赤城县| 江门市| 枝江市| 深水埗区| 涡阳县| 个旧市|