日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

折半查找一个有序数组中的一个元素,即二分法

發布時間:2024/8/5 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 折半查找一个有序数组中的一个元素,即二分法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

折半查找法(二分法)

在寫程序中,我們需要注意的是函數的要求,需要你輸入的是下標,那么下標是由low和high共同求得。我會在下面給大家介紹的。

運行結果
代碼如下

#include<stdio.h> #define N 5 int main() {int i,mid,high,low,t; int a[N];for(i=0;i<N;i++)scanf("%d",&a[i]);scanf("%d",&t);low=0;high=N-1;while(low<=high){mid=(low+high)/2;if(t>a[mid])low=mid+1;else if(t<a[mid]) high=mid-1;else break;} if(low<=high)printf("%d 在數組中的下標是%d\n",t,mid);elseprintf("該元素不在數組中\n"); return 0; }

假如數組是1 2 3 4 5,如果你要查4這個元素

那么定義數組A[4],low=0,high=4;mid=2;
查 4 時,相當于t;A[mid]=3; t>a[mid],則low=mid+1=3,則mid=(low+high)/2 =3,即7/2=3。即4這個元素在數組中的下標是3

希望各位認真思考過程,加強自己的想法。

總結

以上是生活随笔為你收集整理的折半查找一个有序数组中的一个元素,即二分法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。