有序表上的查找(二分查找法)
来源:互联网 发布:淘宝怎么设置好友来访 编辑:程序博客网 时间:2024/05/17 05:11
/*有序表上的查找(二分查找法)*/#include<stdio.h>#define Maxsize 10typedef int KeyType;typedef struct{ int elem[Maxsize]; int n; /*最后一个数据元素的下标*/}SqTable;void Create(SqTable *st){ int i; printf("输入一个含有9个数据元素的有序表:"); for(i=1;i<=9;i++) scanf("%d",&st->elem[i]); st->n=i;}int Search(SqTable *st,KeyType key){ int low,high,mid; low=1; /*置查找区间初值*/ high=st->n; while(low<=high) { /*区间长度不为0时继续查找*/ mid=(low+high)/2; /*对区间进行折半*/ if(key==st->elem[mid]) return mid; else if(key<st->elem[mid]) high=mid-1; /*在前半区间查找*/ else low=mid+1; /*在后半区间查找*/ } return 0; /*查找不成功,则返回0*/}main(){ int key,x; SqTable st; Create(&st); printf("输入查找的key值:"); scanf("%d",&key); x=Search(&st,key); if(x==0) printf("查找失败!\n"); else printf("%d,%d\n",x,st.elem[x]);}
编译效果
阅读全文
0 0
- 有序表上的查找(二分查找法)
- 有序表上的二分查找
- (转)有序表上的二分查找
- 有序表的二分查找
- 算法:有序表的二分查找
- BinarySearch 有序表的二分查找
- 有序顺序表查询(二分查找)
- 二分查找(有序数组中查找需要的数)
- 旋转有序的二分查找
- 有序数组的二分查找
- 有序数组的二分查找
- 有序数组的二分查找
- PHP有序表查找----二分查找(折半)
- 有序表的查找(折半查找)
- 有序表的查找(折半查找)
- 有序表查找(二分查找,插值查找,斐波那契查找)
- 数据结构实现之有序符号表BinarySearchST(使用有序数组的二分查找)
- 有序表查找_折半查找(二分查找)
- freemarker字符串替换操作
- ViewPager
- C. Anton and Fairy Tale
- 046-Java-037
- [SAP-SD]Sales Order 中的User Exit开发
- 有序表上的查找(二分查找法)
- 阿里云OSS存储开发
- 第十三周OJ-Q58解题方法
- nginx反向代理tomcat会出现session失效问题
- 使用科大讯飞的语音听写,在初始化时需要注意的点!
- Linux进程间通信-信号量
- java基础知识
- 将一个列表中每几个元素按行输入到txt中
- Java实现HTTP请求