binary search algorithm
来源:互联网 发布:淘宝宝贝数据包制作 编辑:程序博客网 时间:2024/05/17 23:44
[cpp]view plaincopyprint?
- /*
- * =====================================================================================
- *
- * Filename: test.c
- *
- * Description: Binary Search Algorithm
- *
- * Version: 1.0
- * Created:
- * Revision: none
- * Compiler: gcc
- *
- * Author:
- * Organization:
- *
- * =====================================================================================
- */
- #include <stdlib.h>
- /*
- * === FUNCTION ======================================================================
- * Name: main
- * Description:
- * =====================================================================================
- */
- //
- #include <stdio.h>
- #include <time.h>
- #include <limits.h>
- int
- binary_search (int array[], int length, int n )
- {
- int position;
- int mid;
- int left=0, right = length;
- mid = (left + right)/2;
- position = INT_MAX;
- while ( left <= right) {
- if ( array[mid] > n) {
- right = mid-1;
- }
- else if(array[mid] < n)
- {
- left = mid+1;
- }
- else if(array[mid] == n)
- {
- position = mid;
- break;
- }else{
- }
- mid = (left + right)/2;
- // printf ( "%d %d %d %d\n",left,right,mid, n);
- }
- return position;
- } /* ----- end of function binary_search ----- */
- /*
- * === FUNCTION ======================================================================
- * Name: randomnumbergenerator
- * Description:
- * =====================================================================================
- */
- int
- random_number_generator (int min, int max)
- {
- int n=0;
- if(min > max)
- {
- printf ( "range error. Max: %d, Mix: %d\n", max, min );
- return 0;
- }
- n = rand()%(max-min+1)+min;
- return n;
- } /* ----- end of function randomnumbergenerator ----- */
- int
- main ( int argc, char *argv[] )
- {
- int n;
- int array[10];
- int i;
- int ret;
- srand(time(NULL));
- for (i=0; i<sizeof(array)/sizeof(int); ++i ) {
- array[i] = i;
- }
- srand(time(NULL));
- for(i=0; i<10000; ++i)
- {
- n = random_number_generator(-10,10);
- {
- ret = binary_search(array, sizeof(array)/sizeof(int),n);
- if(ret == n)
- printf ( "find %d\n", n);
- else
- printf ( "can't find %d\n", n);
- }
- }
- return EXIT_SUCCESS;
- } /* ---------- end of function main ---------- */
文章出自:http://blog.csdn.net/fanwenbo/article/details/7935899
0 0
- binary search algorithm
- binary search algorithm
- Binary Search Algorithm
- [Algorithm] 九章二:Binary Search
- [TopCoder Algorithm Tutorial] Binary Search
- Algorithm - Binary Search on 2D Array
- Algorithm:BST(Binary Search Tree)构造
- Binary search algorithm in C source code
- LeeCode Search in a Big Sorted Array java solution use binary search algorithm
- 《Thinking In Algorithm》06.Binary search tree(二叉查找树)
- 数据结构与算法8: 二叉搜索树遍历算法(Binary search tree traversing algorithm)
- leetcode find-minimum-in-rotated-sorted-array java solution use binary search algorithm
- 《Thinking In Algorithm》06.Binary search tree(二叉查找树)
- 《Thinking In Algorithm》06.Binary search tree(二叉查找树)
- Binary search
- Binary Search
- Binary Search
- binary search
- SPSS神经网络心得(二)
- 杭电ACM_2012
- oracleservice的恢复
- JAVA笔记【20131225】
- 忘记root密码怎么办
- binary search algorithm
- windows NT中获取系统用户名
- LeetCode — Word Break II 解题报告
- SupremeWord进度20.5%
- Leetcode: Reorder List
- c++ 之类的前置声明
- EBS Form Builder开发中的Object Groups
- 让兔子和狮子告诉你如何做员工和老板的
- 鸟哥的私房菜-Linux命令总结