K&R C Exercise 3-1 Solution
来源:互联网 发布:cad for mac打不开 编辑:程序博客网 时间:2024/05/01 04:27
/* * Exercise 3-1 Write the binary search algorithm with only * one test inside the loop. * * Written by fduan on Dec. 15, 2011. */#include <stdio.h>/* binary search: v[0] <= v[1] <= ... <= v[n-1] */int bin_search( int x, int v[], int n ){int low, high, mid, pos;pos = -1;low = 0;high = n - 1;while( low <= high ){mid = ( low + high ) / 2;if( v[mid] == x ){pos = mid;break;}else if( v[mid] < x )low = mid + 1;elsehigh = mid - 1;}return pos;}int bin_search_new( int x, int v[], int n ){int low, high, mid;mid = ( low + high ) / 2;while( low <= high && v[mid] != x ){if( v[mid] < x )low = mid + 1;elsehigh = mid - 1;mid = ( low + high ) / 2;}return ( v[mid] == x ) ? mid : -1;}int main(){int v[] = { 1, 3, 5, 7, 9 };int x = 3;printf( "%d, %d\n", bin_search( x, v, 5 ), bin_search_new( x, v, 5 ) );return 0;}
- K&R C Exercise 3-1 Solution
- K&R C Exercise 2-3 Solution
- K&R C Exercise 1-9 Solution
- K&R C Exercise 1-12 Solution
- K&R C Exercise 1-13 Solution
- K&R C Exercise 1-16 Solution
- K&R C Exercise 1-17 Solution
- K&R C Exercise 1-18 Solution
- K&R C Exercise 1-19 Solution
- K&R C Exercise 1-20 Solution
- K&R C Exercise 1-21 Solution
- K&R C Exercise 1-22 Solution
- K&R C Exercise 2-4 Solution
- K&R C Exercise 2-5 Solution
- K&R C Exercise 2-6 Solution
- K&R C Exercise 2-7 Solution
- K&R C Exercise 2-8 Solution
- K&R C Exercise 2-9 Solution
- K&R C Exercise 2-8 Solution
- K&R C Exercise 2-9 Solution
- sqlite3 批量插入数据库总结
- Latex 给一段文字加边框
- Android成长之路-Android组件_CheckBox例子小解
- K&R C Exercise 3-1 Solution
- Android成长之路-Android组件_ListView例子小解
- Latex 自定义颜色
- Android成长之路-Android组件_Radio 例子小解
- ios iphone 自定义UIPickerView
- Android成长之路-Android组件_Spinner例子小解
- ActiveX异步回调JavaScript
- VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程
- MFC下的文档和视图以及框架之间的访问