二分查找
2015-12-17 20:33
411 查看
#include <iostream> #define maxn 1000 #define NoFound -1 using namespace std; const int Record[]={5,16,39,45,51,98,100,202,226,321,368,444,501}; struct StaticTable{ int Data[maxn]; int Length; }; StaticTable *CreateTable(){ StaticTable *PtrT=(StaticTable*)malloc(sizeof(StaticTable)); PtrT->Length=0; return PtrT; } void TablePush(StaticTable *PtrT,int num){ PtrT->Data[++(PtrT->Length)]=num; } int BinarySearch(StaticTable *PtrT,int K){ int left,right,mid; left=1; right=PtrT->Length; while(left<=right){ mid=(left+right)/2; if(K<PtrT->Data[mid]){ right=mid-1; }else if(K>PtrT->Data[mid]){ left=mid+1; }else{ return mid; //找到后返回下标 } } return NoFound; } int main() { StaticTable *Tbl=CreateTable(); for(int i=0;i<sizeof(Record)/sizeof(int);++i){ TablePush(Tbl,Record[i]); } int K; cin>>K; cout<<"Tbl->length = "<<Tbl->Length<<endl; cout<<BinarySearch(Tbl,K); return 0; }
相关文章推荐
- UVA-156 反片语
- 使用jquery.qrcode生成二维码
- DepSys:Dependency Aware Integration of CPSs for Smart Home
- 面向切面编程(AOP)的理解
- 浅析Java中的final关键字
- HDOJ--2026
- iOS监听某些事件的方法
- 滚动固定TAB在顶部显示
- 20151217jqueryUI学习笔记
- 在向server发送请求时发生传输级错误。 (provider: 共享内存提供程序, error: 0 - 管道的还有一端上无不论什么进程。
- git总结(4)改变历史,克隆
- 第八周 项目四 字符串加密
- 119 Pascal's Triangle II
- 杭电1878 欧拉回路 (欧拉回路的判断)
- 代理设计模式
- 控件显示问题
- HDOJ--2025
- 数据库的检索语句
- SpringSecurity简单应用(二)
- 纪录论文