数据结构查找-二分查找
2015-05-27 15:24
344 查看
二分查找是只适用于有序的序列,每次都缩小一半查找范围的查找方法。
二分查找也叫做折半查找。
步骤:
首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置将表分成前后两个子表。
重复以上步骤。
二分查找也叫做折半查找。
步骤:
首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置将表分成前后两个子表。
重复以上步骤。
#include<stdio.h> #include<stdlib.h> int binarysearch(int *array,int key,int low,int high) { int mid; while(low<=high) { mid = (low + high)/2; if(key == array[mid]) return mid; else if(key<array[mid]) high = mid-1; else low = mid+1; } return 0; } int main() { int n,i,key,position; int *array; printf("input size of array:\n"); scanf("%d",&n); array = (int*)malloc(sizeof(int)*n); printf("input data as asc"); for(i=0;i<n;i++) scanf("%d",&array[i]); printf("input what you want:\n"); scanf("%d",&key); if(position = binarysearch(array,key,0,n-1)) printf("the position of %d is %d\n",key,position); else printf("no exist %d",key); return 0; }
相关文章推荐
- C语言 数据结构之排序与查找 数据结构实验之查找四:二分查找
- 数据结构基础(2) --顺序查找 & 二分查找
- 数据结构基础 查找 之 二分查找
- 数据结构基础(2) --顺序查找 & 二分查找
- 数据结构与算法-二分查找
- 数据结构与算法学习之路:二分查找的非递归和递归算法
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找四:二分查找
- C 数据结构与算法 二分查找
- 数据结构基础(2) --顺序查找 & 二分查找
- 数据结构实验之查找四:二分查找
- 数据结构和算法设计专题之---二分查找(Java版)
- 数据结构实验之查找四:二分查找
- 【数据结构与算法】【查找】折半查找(二分查找)的代码实现
- 数据结构实验之查找四:二分查找
- 数据结构与算法------二分查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找四:二分查找
- 【数据结构与算法】二分查找