希爾排序問題,希爾排序錯誤

2021-03-04 02:35:10 字數 1981 閱讀 7266

1樓:啦啊加啦

小增量排序」(來diminishing increment sort),是直接插源

2樓:匿名使用者

希爾排序,在比較出次序問題後,會將指標處值與隔兩個步長處的數值繼續比較,知道減或者加步長後陣列處值不存在為止,通過計算時間複雜度能準確反應每個排序方法的過程。

3樓:寺內莉珂

>1)這個j-d>1應該為j-d>=1吧

希爾排序錯誤

4樓:匿名使用者

排序問題

void shell(int n,int d,int num)int main (void)

shell_sorta(a,40000);

for (int i = 0;i<40000;i++)return 0;}

5樓:匿名使用者

int型的數值範圍為-32768~32767

你用40000當然出錯

6樓:匿名使用者

因為int型的數值範圍是-32768~32767所以出錯

7樓:剝殼凸槽

一二樓正解個p!!!

人家都說了int四位元組 明顯是i的值被改亂了,三樓的tmpi才是正解,四樓不懂就不要亂說

大家幫看一下,希爾排序問題

8樓:

參考一下下邊的算來法吧,源希望能幫到你

void shellsort(record r[ ], int n) }}

希爾排序怎麼排 5

9樓:匿名使用者

這麼簡單的問題。

初始步長為4 即把第一個字母和第五個字母進行排序, 第二個和第六個進行排序 以此類推,

整體不變

10樓:

增量為6,則從第1個數,拿它跟第6個數、第12個、....,一起比較,排成從小到大的順序,之後就是第2個數,拿它跟第7個數、第13個、....(同樣道理)

增量為3,同樣道理

11樓:冉莊薊悅心

希爾排序是插入排序的一種。

基本思想:

先取一個小於

n的整數d1

作為第一個增量,把檔案的全部記錄分成d1

個組。所有距離為dl

的倍數的記錄放在同一個組中。先在各組內進行直接插人排序;然後,取第二個增量d2

t

2

,即所有記錄放在同一組中進行直接插入排序為止。

該方法實質上是一種分組插入方法。

12樓:手機使用者

d是3,意思就是把位置為1+3*0,1+3*1,1+3*2……放在一起

2+3*0,2+3*1,2+3*2……放在一起

3+3*0,3+3*1,3+3*2……放在一起

請教有關希爾排序的問題

13樓:匿名使用者

#include 後面是空的,補上了

table沒有定義,腦補了一個

shell sort演算法有問題,改了

基本上就是這些了

下面是改後的

#include

typedef struct

table;

void insert(table *tab)printf("\n");

} void shell_sort(int arr,int size)

}for(i=0;i

printf("%d ",arr[i]);

} void main()

}while(1);}

希爾排序錯誤

排序問題 void shell int n,int d,int num int main void shell sorta a,40000 for int i 0 i 40000 i return 0 int型的數值範圍為 32768 32767 你用40000當然出錯 因為int型的數值範圍是 3...

快速排序希爾排序都是什麼意思,快速排序與希爾排序哪個效率更高?

個人認為是快速排序。快速排序的最差複雜度可能會降為n 2,最快則是nlogn,但 是,平均情況下是較快的。而希爾排序的最差情況下,複雜度可能會降為n s 到n s之間,1 s 2 平均則是nlog 2n。理論上來看,希爾排序可能是效率比較高的。但是,實際情況來看,快速排序的實際效果很不錯。原因就是,...

php排序問題,請教PHP排序問題,

兩個foreach迴圈影響了 請教php排序問題,樓上的是爭取的,其實就是對陣列進行排序的 array multisort f,sort asc php和mysql排序問題 50 沒這種排法,在 中或者資料庫中排序就分兩種,一種是數字排序,一種是字母排序,比如張的首字母是z,王的首字母是w,按照字母...