希爾排序法

2021-08-02 11:06:15 字數 645 閱讀 2144

一種算是優化的插入排序

一般是每次從半數之後的範圍進行插入,這樣可以減少總的交換量。達到快速的效果

但是最後一定要讓開始的位置變成1 也就是g陣列的最後乙個一定要是1

#include 

using

namespace

std;

long

long g[10000005];

long

long a[10000005];

long

long cnt;

long

long isort(long

long a,long

long n,long

long g)

a[j+g]=v;

//cout<}

}void shellsort(long

long a,long

long n,long

long m)

long

long l=0,e=n;

while(e>0)//一般是取1/2

cout

long i=0;icout

<' ';

}cout

long i=0;icout

<}

希爾排序法優化

希爾排序法的 實現 package main import fmt math rand time func main start time.now shellsort list end time.now dur end.sub start fmt.println dur 顯示消耗的時間 希爾排序函式...

希爾排序法(縮小增量法)

2016 10 25 16 51 49 首先,要明白希爾排序法是什麼。它是一種改進版的直接插入法,它是將整個無序列分割成若干小的子串行分別進行插入排序的方法。1 include23 希爾排序法 4void shell sort int a,int n 5 intmain 614 shell sort...

C語言之氣泡排序 快速排序法 希爾排序法

眾所周知程式設計排序方法眾多而且程式的好壞就取決於演算法的使用 下面是博主現在會的幾種排序方法希望對大家有所幫助。希爾排序法 author stylle date 2020 11 14 15 52 03 lasteditors stylle lastedittime 2020 11 14 15 52...