二分法查找(C语言实现)
2014-12-17 17:27
197 查看
//二分法查找 int BinarySearch() { int arr[] = {1,2,3,4,5,6,7,8,9,10,11,12}; int key=3; int head=0, tail=11, middle; while (tail>head) { middle = (head + tail) / 2; if (key > arr[middle]) head = middle + 1; else if (key < arr[middle]) tail = middle - 1; else return 1; } return -1; } //二分法查找 递归 int Binary_Search_By_Recursive(int arr[],int low,int high,int key) { if (low > high) { return -1; } int middle = (low + high) / 2; if (key < *(arr+middle)) Binary_Search_By_Recursive(arr,low,middle-1,key); else if (key > *(arr+middle)) Binary_Search_By_Recursive(arr, middle + 1, high, key); else return 1; } //main函数 void main() { int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }; //Two_dimensional_array(); //Tow_dimensinal_array_init(); //Tow_dimensinal_array_init_oneFor(); //There_dimensinal_array_init(); //There_dimensinal_array_init_oneFor(); //int flag= BinarySearch(); int flag = Binary_Search_By_Recursive(arr,0,11,-1); printf("%d ",flag); getchar(); }
相关文章推荐
- 二分法查找的C语言实现:
- 查找与排序之二分法查找篇(C语言实现)
- C语言实现二分法查找
- 用c语言实现二分法查找表格【数据结构】
- 二分法查找C语言实现
- 【C语言】二分法实现数组查找
- c语言模糊查找功能的设计与实现
- 数据结构的静态查找(C语言实现)
- C语言单链表的建立,查找,添加,删除,修改功能实现
- c语言 二分法查找 修正版 漏洞 二分法 32位
- 二分查找C语言实现
- 二分法查找[折半查找][Java实现]
- 正则表达式(regex)及C语言实现,超强查找/匹配/替换算法
- 单链表相关操作之C语言实现:插入,删除,倒转,复制,查找。。。
- C语言字符串查找的几种实现
- JAVA 二分法查找实现
- perl实现二分法的ip查找
- C语言中用bsearch()实现查找操作
- 用java实现二分法快速查找例程
- C语言调用库函数实现二分查找