二分查找C语言实现
2012-09-28 15:29
387 查看
二分查找的简单实现
相关链接:
http://baike.baidu.com/view/610605.htm
http://www.cnblogs.com/xiaosuo/archive/2010/04/07/1687231.html
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 20 #define N_RAND 200 int cmp( const void *a , const void *b ){ return *(int *)a > *(int *)b ? 1 : -1; } //返回在数组中位置 int B_Search(int *a, int p, int q, int key){ while(p<=q){ int r=(p+q)/2; if(a[r]==key) return r; else if(a[r] > key) q=r-1; else p=r+1; } return -1; } int main(){ int i, a ; srand((unsigned)time(NULL)); for(i=0;i<N;i++){ a[i]=rand()%N_RAND; printf("%d ",a[i]); } printf("\n"); qsort(a,N,sizeof(int),cmp); for(i=0;i<N;i++){ printf("%d ",a[i]); } printf("\n"); for(i=0;i<N;i++){ printf("元素位置为%d \n",B_Search(a,0,N-1,a[i])); } system("pause"); return 0; }
相关链接:
http://baike.baidu.com/view/610605.htm
http://www.cnblogs.com/xiaosuo/archive/2010/04/07/1687231.html
相关文章推荐
- c语言实现二分查找
- c语言:代码实现折半(二分)查找
- C语言调用库函数实现二分查找
- Algorithm学习笔记 --- C语言实现二分查找
- 二分查找算法实现(C语言)
- C语言编程中实现二分查找的简单入门实例
- 顺序表查找(顺序查找、二分查找) C语言实现
- C语言调用库函数实现二分查找
- C语言 ---- 递归实现二分查找
- 【C语言】编写函数实现二分查找
- C语言实现:折半查找(二分查找)
- C语言实现 二分查找 支持降序和升序
- C语言实现 二分查找数组中的Key值(递归和非递归)
- c语言二分查找泛型实现
- 插入排序算法+优化 (二分查找优化有序部分)C语言实现
- c语言简单递归/非递归实现二分查找
- 【二分查找】用C语言实现一个有序数组的二分查找
- 使用c语言指针和递归方法实现二分查找
- C语言实现二分查找
- C语言实现直接插入排序,冒泡排序以及二分查找(巩固理解记忆)