欧美成人永久免费_欧美日本五月天_A级毛片免看在线_国产69无码,亚洲无线观看,精品人妻少妇无码视频,777无码专区,色大片免费网站大全,麻豆国产成人AV网,91视频网络,亚洲色无码自慰

當前位置:網(wǎng)站首頁 >> 作文 >> 2023年希爾排序c語言代碼 希爾排序數(shù)據(jù)結(jié)構c語言模板

2023年希爾排序c語言代碼 希爾排序數(shù)據(jù)結(jié)構c語言模板

格式:DOC 上傳日期:2023-04-28 19:10:50
2023年希爾排序c語言代碼 希爾排序數(shù)據(jù)結(jié)構c語言模板
時間:2023-04-28 19:10:50     小編:zdfb

在日常的學習、工作、生活中,肯定對各類范文都很熟悉吧,。那么我們該如何寫一篇較為完美的范文呢?以下是我為大家搜集的優(yōu)質(zhì)范文,,僅供參考,,一起來看看吧

希爾排序c語言代碼 希爾排序數(shù)據(jù)結(jié)構c語言篇一

導語:c語言的設計目標是提供一種能以簡易的方式編譯,、處理低級存儲器,、產(chǎn)生少量的機器碼以及不需要任何運行環(huán)境支持便能運行的編程語言,。下面我們來看看希爾排序(c語言實現(xiàn)),希望對大家有所幫助,。

希爾排序的基本思想是:先將整個待排序列分割成若干子序列分別進行進行直接插入排序,,等到整個待排序列基本有序時,再對全體記錄依次進行直接插入排序,。希爾排序也叫縮小增量排序,,提出來的。

希爾排序的具體實現(xiàn)方法和步驟:

a,、選擇一個步長序列d1,,d2,d3,,...,,dk,其中,,di > dj,dk = 1;

b,、按步長序列個數(shù)k對序列進行k趟排序

c,、每趟排序,,根據(jù)對應的步長di進行分組,即將待排序的記錄序列所有距離為di的記錄放在同一組中,,如此可將待排序列分割成若干個長度為m的子序列,,分別對各組進行直接插入排序。當dk=1時,,整個序列作為一個表來處理,,表長度即為整個序列的長度,整個排序結(jié)束,。

/* 希爾排序算法的簡單實現(xiàn)

* array[] : 要排序的數(shù)組

* length : 要排序的.數(shù)組的長度

* d[] : 增量值數(shù)組

* number : 增量值個數(shù)

*/

void shell_sort(int array[], int length, int d[], int number)

{

int i, j, k, m;

int span; // 用于存放具體增量的數(shù)值

int temp; // 用于存放臨時的待排序元素的值

for(m = 0; m < number; m++)

{

span = d[m]; // 獲取增量值

for(k = 0; k < span; k++)

{

for(i = k; i < length-1; i += span)

{

temp = array[i + 1];

j = i;

while((j > -1) && (temp < array[j]))

{

array[j + 1] = array[j];

j--;

}

array[j + 1] = temp;

}

}

}

}

/* 程序的入口函數(shù) */

int main()

{

int a[array_length];

int i;

int d[3] = {5, 3, 1}; // 定義一個表示增量值的數(shù)組

/* 輸入10個整形元素 */

printf("input %d numbers : ", array_length);

for(i = 0; i < array_length; i++)

{

scanf("%d", &a[i]);

}

printf("**************************************************************** ");

/* 把排序前元素都打印出來 */

printf("the elements before sort is : ");

for(i = 0; i< array_length; i++)

{

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

}

printf(" ");

printf("**************************************************************** ");

/* 對元素進行有小到大的直接插入排序 */

shell_sort(a, array_length, d, sizeof(d)/sizeof(d[0]));

/* 把排序后元素都打印出來 */

printf("the elements after sort is : ");

for(i = 0; i < array_length; i++)

{

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

}

printf(" ");

return 0;

}

s("content_relate");

【希爾排序(c語言實現(xiàn))】相關文章:

希爾排序算法的c語言實現(xiàn)示例

10-04

冒泡排序(c語言實現(xiàn))

10-04

簡單選擇排序(c語言實現(xiàn))

10-04

c語言實現(xiàn)歸并排序算法實例

11-21

排序之一:直接插入排序(c語言實現(xiàn))

12-03

直接插入排序(c語言實現(xiàn))

10-06

c語言的排序算法

10-05

6種常見的排序算法的c語言實現(xiàn)

10-04

c語言冒泡排序算法實例

11-21

全文閱讀已結(jié)束,,如果需要下載本文請點擊

下載此文檔
a.付費復制
付費獲得該文章復制權限
特價:5.99元 10元
微信掃碼支付
已付款請點這里
b.包月復制
付費后30天內(nèi)不限量復制
特價:9.99元 10元
微信掃碼支付
已付款請點這里 聯(lián)系客服