91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java希爾排序方法怎么使用

發布時間:2021-12-18 16:07:30 來源:億速云 閱讀:104 作者:iii 欄目:大數據

這篇文章主要講解了“Java希爾排序方法怎么使用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java希爾排序方法怎么使用”吧!

    用希爾排序法對一組數據由小到大進行排序,數據分別為69、56、12、136、3、55、46、99、88、25。
希爾排序的全過程如下:
Java希爾排序方法怎么使用
代碼實現:

/*第九天、希爾排序*/#include <stdio.h>#include <stdlib.h>/*****************************************************************************************希爾排序(Shell Sort)是插入排序的一種。也稱縮小增量排序,是直接插入排序算法的一種更高效 **的改進版本。希爾排序是非穩定排序算法。該方法因DL.Shell于1959年提出而得名。            **希爾排序是把記錄按下標的一定增量分組,對每組使用直接插入排序算法排序;隨著增量逐漸減少 **每組包含的關鍵詞越來越多,當增量減至1時,整個文件恰被分成一組,算法便終止。            ******************************************************************************************/

/******************************************* *函數名稱:Shsort 
*參數說明:pDataArray 無序數組指針*          iDataNum   無序數據個數 
*說明:    希爾排序 
********************************************/  
void Shsort(int* pDataArray,int iDateNumn)
{    int i,j,d;    d = iDateNumn / 2;                                   /*確定固定增量值,設為數組長度的一半*/    while(d >= 1)                                        /*增量等于1退出循環*/    {
   
   
           for(i = d;i < iDateNumn;i++)                     /*數組下標從d開始進行直接插入排序*/        {                                                /*也就是數組的第d+1個元素*/            int temp = pDataArray[i];                    /*設置監視哨,元素最右邊的位置*/            j = i - d;                                   /*確定要進行比較的元素的最左邊位置*/            while((j >= 0) && (temp < pDataArray[j]))    /*從后向前,找到比其小的數的位置*/            {
   
   
                   pDataArray[j + d] = pDataArray[j];       /*數據右移*/                j -= d;                                  /*向左移動d個位置*/            }            if (j != i - d)                              /*存在比其小的數*/                pDataArray[j + d] = temp;                /*在確定的位置插入pDataArray[i]*/        }        d = d / 2;    }}

/******************************************* *函數名稱:main
*參數說明:無
*說明:    主函數 
********************************************/  
void main(void)
{    int pDataArray[10],i;                            printf("請輸入10個數據:\n");    for(i = 0;i < 10;i++)        scanf("%d",&pDataArray[i]);    Shsort(pDataArray,10);    printf("排序后的順序是:\n");    for(i = 0;i < 10;i++)        printf("%5d",pDataArray[i]);    printf("\n");    system("pause");}

結果顯示:
Java希爾排序方法怎么使用

感謝各位的閱讀,以上就是“Java希爾排序方法怎么使用”的內容了,經過本文的學習后,相信大家對Java希爾排序方法怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

富蕴县| 永安市| 山东省| 秦安县| 林甸县| 化德县| 安新县| 班玛县| 枞阳县| 马公市| 抚州市| 明星| 辉县市| 河东区| 台前县| 大厂| 遵化市| 连云港市| 福泉市| 紫阳县| 东乌珠穆沁旗| 山丹县| 同德县| 天气| 波密县| 泊头市| 台南县| 宁晋县| 家居| 哈密市| 类乌齐县| 峨眉山市| 武胜县| 寿宁县| 中阳县| 奈曼旗| 贵州省| 南昌市| 囊谦县| 汤原县| 台南市|