中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Java二分查找方法怎么使用

發布時間:2021-12-18 15:57:13 來源:億速云 閱讀:223 作者:iii 欄目:大數據

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

題目

    采用二分查找法查找特定關鍵字的元素。要求用戶輸入數組長度,也就是有序表的數據長度,并輸入數組元素和查找的關鍵字。程序輸出查找成功與否,以及成功時關鍵字在數組中的位置。例如,在有序表11、13、18、28、39、56、69、89、98、122中查找關鍵字為89的元素。
1、程序分析
    二分查找就是折半查找,其基本思想是:首先選取表中間位置的記錄,將其關鍵字與給定關鍵字key進行比較,若相等,則查找成功;若key值比該關鍵值大,則要找的元素一定在右子表中,則繼續對右子表進行折半查找;若key值比該關鍵值小,則要找的元素一定在左子表中,繼續對左子表進行折半查找。如此遞推,直到查找成功或查找失敗(查找范圍為0)。
2、程序實現

/******************************************************
 * Topic    :   采用二分查找法查找特定關鍵字的元素。
 * File Name:   BinarySearch.c
 * Author   :   Jack Cui
 * Created  :   6 April 2016
 * ****************************************************/#include <stdio.h>
#include <stdlib.h>/*歸并排序函數聲明*/void BinarySearch(int iKey,int *pArr,int iNum);void main(void)
{int i,iKey,*pArr,iNum;
    printf("請輸入數組的長度:\n");
    scanf("%d",&iNum);
    printf("請輸入數組元素:\n");
    pArr = (int *)malloc(sizeof(int) *iNum);for(i = 0;i < iNum;i++)
        scanf("%d",&pArr[i]);
    printf("請輸入你想查找的元素:\n");
    scanf("%d",&iKey);
    BinarySearch(iKey,pArr,iNum);
}/**********************************
*函數名稱:BinarySearch
*參數說明:iKey      要查找的數
*         *pArr     數組
*         iNum      數組大小
*說明:    二分查找
***********************************/void BinarySearch(int iKey,int *pArr,int iNum)
{int iLeft,iRight,iMid,iCount,iFlag;
    iCount = 0;                         //記錄查找次數iFlag = 0;                          //查找正確標志位iLeft = 0;                          //左側最小值iRight = iNum - 1;                  //右側最大值while(iLeft <= iRight)              //范圍正確的時候,進行查詢。{
        iCount++;                       //查找次數+1iMid = (iLeft + iRight) / 2;    //二分if(iKey < pArr[iMid])
            iRight = iMid - 1;else if(iKey > pArr[iMid])
            iLeft = iMid + 1;else if(iKey == pArr[iMid])
        {
            printf("查找成功!\n查找%d次!pArr[%d]=%d\n",iCount,iMid,iKey);
            iFlag = 1;break;
        }
    }if(iFlag == 0)
        printf("查找失敗!\n");
}

3、結果顯示
Java二分查找方法怎么使用

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

向AI問一下細節

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

AI

峨眉山市| 佛冈县| 苍梧县| 南城县| 读书| 南安市| 涟源市| 增城市| 年辖:市辖区| 宁河县| 弥勒县| 桃源县| 东辽县| 阜新| 綦江县| 永定县| 炉霍县| 万年县| 武山县| 稷山县| 卫辉市| 宁南县| 祥云县| 汪清县| 通化市| 瓦房店市| 彭泽县| 武穴市| 南康市| 新巴尔虎左旗| 镇原县| 渝北区| 武城县| 溧阳市| 尚志市| 和静县| 开平市| 连江县| 竹北市| 万盛区| 芜湖县|