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

溫馨提示×

溫馨提示×

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

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

C言語二分查找(折半查找)算法及代碼

發布時間:2020-07-23 17:32:16 來源:網絡 閱讀:411 作者:yuw2016 欄目:網絡安全

二分査找也稱折半査找,其長處是查找速度快,缺陷是請求所要査找的數據必需是有序序列。該算法的根本思惟是將所要査找的序列的兩頭地位的數據與所要査找的元素停止比擬,假如相等,則表現査找勝利,不然將以該地位為基準將所要査找的序列分為閣下兩局部。接下來依據所要査找序列的起落序紀律及兩頭元素與所查找元素的巨細關系,來選擇所要査找元素能夠存在的那局部序列,對其采取異樣的辦法停止査找,直至可以肯定所要查找的元素能否存在,詳細的運用辦法可經過下面的代碼詳細理解。

			#include <stdio.h> binarySearch(int a[], int n, int key){ int low = 0; int high = n - 1; while(low<= high){ int mid = (low + high)/2; int midVal = a[mid]; if(midVal<key) low = mid + 1; else if(midVal>key) high = mid - 1; else return mid; } return -1; } int main(){ int i, val, ret; int a[8]={-32, 12, 16, 24, 36, 45, 59, 98}; for(i=0; i<8; i++) printf("%d\t", a[i]); printf("\n請輸人所要查找的元素:"); scanf("%d",&val); ret = binarySearch(a,8,val); if(-1 == ret) printf("查找掉敗 \n"); else printf ("查找勝利 \n"); return 0; }

運轉后果:

-32    12    16    24    36    45    59    98
請輸出所要查找的元素:12
查找勝利

在下面的代碼中,我們勝利地經過二分査找算法完成了查找功用,其完成進程如下圖所示。

C言語二分查找(折半查找)算法及代碼
二分査找算法的査找進程


在如上圖所示的查找進程中,先將序列兩頭地位的元素與所要査找的元素停止比擬,發現要査找的元素位干該地位的左局部序列中。接下來將mid的右邊一個元素作為 high,持續停止二分査找,這時mid所對應的兩頭元素剛好是所要査找的元素,査找完畢,前往査找元素所對應的下標。在main函數中經過前往值來判別査找能否勝利,假如査找勝利.就打印輸入“査找勝利”的信息,不然輸入“査找掉畋”的信息。


向AI問一下細節

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

AI

德钦县| 江源县| 疏勒县| 麟游县| 临颍县| 镇巴县| 郴州市| 宁南县| 鲁甸县| 临邑县| 义乌市| 大石桥市| 松桃| 乌兰察布市| 延川县| 襄垣县| 金川县| 右玉县| 福州市| 双流县| 香河县| 静乐县| 江都市| 昌邑市| 建阳市| 东莞市| 社旗县| 孝昌县| 宜都市| 名山县| 玉林市| 中山市| 武川县| 教育| 贡嘎县| 象州县| 松滋市| 右玉县| 武定县| 上饶市| 日土县|