二分法c语言代码(递归、迭代)
生活随笔
收集整理的這篇文章主要介紹了
二分法c语言代码(递归、迭代)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
遞歸代碼如下:
include <stdio.h>int BSearch(int d[], int target, int low, int high) {//第二個參數(shù)是要找的數(shù),返回下標if (low <= high){int m = (low + high) / 2;if (target < d[m])return BSearch(d, target, low, m - 1);else if (target>d[m])return BSearch(d, target, m + 1, high);elsereturn m;}return -1; }void main() {int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 100, 2000, 5000, 9999 };int c = BSearch(a, 2000, 0, 13);printf_s("c:%d\n", c);getchar(); }迭代代碼如下: #include <stdio.h>int BSearch(int d[], int target, int low, int high) {//第二個參數(shù)是要找的數(shù),返回下標int m;while (low <= high){m = (low + high) / 2;if (target < d[m])high = m - 1;else if (target>d[m])low = m + 1;elsereturn m;}return -1; }void main() {int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 100, 2000, 5000, 9999 };int c = BSearch(a, 2000, 0, 13);printf_s("c:%d\n", c);getchar(); }
代碼思路很簡單,在此不再說明!!
總結(jié)
以上是生活随笔為你收集整理的二分法c语言代码(递归、迭代)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微机个人笔记-中断
- 下一篇: 奥拉星插件flash下载手机版下载安装_