C語言程式設計中「二分查詢」思路具體是怎樣的

時間 2022-04-07 17:19:57

1樓:匿名使用者

二分查詢,首先是建立在單調的基礎上的,比如說你要在乙個單調遞增的區間裡找乙個數,你可以每次選擇當前區間的中間乙個數,和你要找的數相比,如果中間那個數大,那麼你要找的數在當前區間的前一半,所以把前一半區間當作當前區間,反之,則把後一般區間當作當前區間,如此迴圈,直到找到這個數為止。

2樓:

你按那名字就可以理解了,這是個一分為二的查詢方法,拿你要查詢的那個資料和中間的比較,根據大小來去掉另一半。這樣的查詢方法比你乙個個去對比快多了。。

3樓:胖胖小臭鼬

1、先將數字按一定順序排列,比如從大到小或者從小到大(假如從小到大)。

2、去所有數中間位置的那個與所要查詢的資料比較。

3、根據比較結果(假如比中間數小),在取小的那一半資料,繼續從第一步開始執行。

敘述比較不清晰……

假如數列1、2、3、4、5、6、7、8、9,查詢2。

1、按從小到大排列,取數列中間的數「5」

2、5與2比較,5大於2

3、從1、2、3、4、5中查詢2

5、取1、2、3、4、5這個數列中間的數「3」

6、用3與2比較,3大於2.

7、從1、2、3中查詢2

8、取數列中間數「2」

9、2=2查詢完畢

c語言程式設計二分查詢

二分查詢法 c語言程式設計?

4樓:星月小木木

#include

int binfind(int val , int num , int value)

else if (val[mid] < value)mid = ( start + end )/2;

}if (val[mid] == value)return mid;

else

return -1;

}int main()

;int result = binfind(nums , sizeof(nums) / sizeof(nums[0]) , 45);

if (result < 0)}

5樓:

比如要在0到100中找42

那麼先2分

50不是

50>40

再2分25

依次直到找到

c語言程式設計 1將乙個陣列中的值按逆序重新存放 2用「二分查詢法」查詢一組資料中是否存在資料x. 15

6樓:在半壁山烹飪的迷迭香

1.首尾變換,且交換法。

7樓:

int a[5]=123456,,b[5],i,j;

for(i=4;i>=0;i—— ——)

{j=0;

b[i]=a[j];

j++;}

8樓:匿名使用者

1 for (int i=n; i>0; i--) b[i-n+1]=a[i];

for (int i=n; i>0; i--) a[i]=b[i];

用c語言編寫順序查詢和二分查詢(折半查詢)

9樓:

老大,人家叫你答c語言啊,你的都不是c語言,暈,樓主,我覺得你出200分我就幫你解決,你的分太低了。。

10樓:

/*順序查詢:*/

#include

void main()

; int i,x,y;

printf("輸入你要查詢的數:\n");

scanf("%d",&x);

y=0; //標記是否已找到,y=1表是找到了,y=0表示沒找到for(i=0;i<10;i++) //迴圈,把x和陣列中的元素乙個個比較 }

if(y==0)printf("無法找到你要查詢的數\n"); //y=0表示找不到

}/*二分查詢: 添個主函式呼叫下就好了*/int search(int a,int x,int n)else if(x

else }

return -1;}

11樓:泠月冰辰

我這裡有。。。

typedef int elemtype;

//二分法查詢

const elemtype* myfind(const elemtype* a,int n,const elemtype& e)

return 0;

}//遞迴描述二分法查詢

const elemtype* myfind_dg(const elemtype* front,const elemtype* rear,const elemtype& e)

順序查詢,簡單我就不說了,乙個迴圈的事。

程式設計 二分查詢 c語言** 為什麼不對?

12樓:匿名使用者

int search(int x,int y1,int y2)

if(x>numbers[mid])

if(x

c語言二分查詢法

13樓:匿名使用者

#include

int binfind(int val , int num , int value)

else if (val[mid] < value)mid = ( start + end )/2;

}if (val[mid] == value)return mid;

else

return -1;

}int main()

;int result = binfind(nums , sizeof(nums) / sizeof(nums[0]) , 45);

if (result < 0)}

c語言中怎樣利用折半查詢法(二分查詢法)找到數列中的乙個數?

程式設計,c語言,c語言程式設計

這也值40分。好吧,等下啊我敲 密碼不用加防盜保護吧。寫好了,這應該是你要的 程式 include define imax 5000 define imin 50 define omax 1000 define 0min 50 long pw,money void in printf 超出範圍!失敗...

c語言程式設計,急,c語言程式設計?

include main if n 2 for n 1 n i n for k 1 k n k printf n 試試行不 int n int a 100 int b 100 a 0 1 scanf d n for int i 0 i n i for int j 0 j n i j printf f...

c語言程式設計題,C語言程式設計題

根據要求,如下 include int main 但題目有明顯的錯誤 應當是3公里之後的每公里按1.6元計算 改正後的 如下 include int main 文庫精選 實驗一 簡單的c程式設計 2學時 一 實驗方式 一人一機 二 實驗目的 1 了解c語言程式的編譯環境和編寫過程。2 掌握c語言程式...

c語言程式設計求教,C語言程式設計(求教)

你的問題呢?學習c語言要在理論的基礎上勤加實踐練習,遇到不會的問題,可以發布到網上,大家會幫助你解決的 就不好好學習,上這上面問作業 c語言程式設計 include define n 10 void insert int list,int n,int x void main 編寫程式,求10 用c語...

c語言程式設計改錯,C語言程式設計改錯

除錯通過的程式 如下 include include main int prime int m 上面的程式執行結果如下 please enter one interger numbers 2 2 is a prime number.please enter one interger numbers ...