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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

拆半查找的递归和非递归算法

發布時間:2023/12/20 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 拆半查找的递归和非递归算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文為原創,如需轉載,請注明作者和出處,謝謝!

#include?<stdio.h>??

int?binary_search(int?x,?int?data[],?int?b,?int?e)?
{?????
????int?i;?????
????while(b?<=?e)?????
????{?????
????????i?=?(b?+?e)?/?2;?????
????????if(data[i]?==?x)?return?i;?????
????????if(data[i]?<?x)??????????
????????????b?=?i?+?1;?????
????????else?????????
????????????e?=?i?-?1;?????????????
????}?????
????return?-1;?????
}??

int?binary_search_recursion(int?x,?int?data[],?int?b,?int?e)?
{?????
????int?i;?????
????i?=?(b?+?e)?/?2;?????
????if(b?>?e)?return?-1;?????
????if(data[i]?!=?x)?????
????{?????
????????if(x?<?data[i])?????????
????????????return?binary_search_recursion(x,?data,?0,?i?-?1);?????
????????else?????????
????????????return?binary_search_recursion(x,?data,?i?+?1,?e);?????
????}?????
????else?????????
????????return?i;?
}??

int?main()?
{?????
????int?data[]?=?{1,?4,?5,?7,?9};?????
????printf("%d?\n",?binary_search_recursion(9,?data,?0,?4));?????
????printf("%d?\n",?binary_search(9,?data,?0,?4));?????
????printf("%d?\n",?binary_search_recursion(90,?data,?0,?4));?????
????printf("%d?\n",?binary_search(89,?data,?0,?4));?????
????return?0;?
}?

本文轉自銀河使者博客園博客,原文鏈接http://www.cnblogs.com/nokiaguy/archive/2008/05/11/1192569.html如需轉載請自行聯系原作者
銀河使者

總結

以上是生活随笔為你收集整理的拆半查找的递归和非递归算法的全部內容,希望文章能夠幫你解決所遇到的問題。

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