當前位置:編程學習大全網 - 源碼下載 - c語言如何實現二分搜索法,問題描述,我的源代碼如下:

c語言如何實現二分搜索法,問題描述,我的源代碼如下:

#包含?& ltstdio.h & gt

int?數字[100001];?//全局變量,數組編號太大,必須在這裏定義。

int?Bsearch(int?數字[],?int?左,?int?對嗎?int?k);

int?主()

{

int?我,?j,?k,?m,?n;

//數組編號太大,無法放在主函數中,但應該在函數外部定義。

//否則函數棧會溢出。

//原碼int?數字[100001];

//?反復讀入數字,求數字的個數。

什麽時候?(scanf("%d?%d ",& ampn,?& ampk)?!=?EOF)

{

//?讀入給定的數字

為了什麽?(我?=?0;?我?& lt?n;?i++)

{

scanf("%d ",& amp數字[I]);

}

為了什麽?(j?=?0;?j?& lt?k;?j++)

{

//?讀入要搜索的號碼,

scanf("%d ",& ampm);

//?請完成下面查找讀入號的功能。

int?ret

ret?=?Bsearch(數字,0,?n?-?1,?m);

printf("%d ",ret);

如果?(j?!=?k?-?1)

{

printf("?);

}

}

printf(" \ n ");

}

回歸?0;

}

int?Bsearch(int?數字[],?int?左,?int?對嗎?int?m)

{

int?mid

什麽時候?(左?& lt=?對吧)?//原代碼while?(左?& lt?右)

{

mid?=?(左?+?對吧)?/?2;

如果?(numbers[mid]?==?m)

{

回歸?mid?+?1;

}

不然呢?如果?(numbers[mid]?& gt?m)

{

對嗎?=?mid?-1;

}

其他

{

向左?=?mid?+?1;

}

}

回歸?0;

}

  • 上一篇:discuz1.5 管理員點“管理中心”中心之後,會出現新的登錄界面,這個界面是用表單做的,不能跳轉。求高手
  • 下一篇:window怎麽創建自己的博客
  • copyright 2024編程學習大全網