二分查找 C语言
2016-04-05 21:17
267 查看
//--摘自虞歌老师的《程序设计基础》 #include <stdio.h> #define ARRAY_SIZE 13 int bubbleSort(int list[],int arraySize); int binarySearch(int key,int list[],int arraySize); void printArray(const int list[],int arraySize); /*二分查找*/ int main(void){ int key,index; int list[ARRAY_SIZE]={2,4,7,10,11,45,50,59,60,66,69,70,79}; printArray(list,ARRAY_SIZE); printf("请输入要查找的值:"); scanf("%d",&key); index=binarySearch(key,list,ARRAY_SIZE); if(index<0){ printf("查找失败!"); } else{ printf("查找成功!%d位于数组下标%d位置",key,index); } return 0; } int binarySearch(int key,int list[],int arraySize){ int low,mid,high; low=0; high=arraySize-1; while(low<=high){ mid=(low+high)/2; if(key<list[mid]){ high=mid-1; }else if(key==list[mid]){ return mid; }else{ low=mid+1; } } return -1; } void printArray(const int list[],int arraySize){ int i; for(i=0;i<arraySize;i++){ printf("%d ",list[i]); } printf("\n"); }
运行结果如图:
--摘自虞歌老师的《程序设计基础》
相关文章推荐
- C++十进制转换为二进制
- C++:STL标准入门汇总
- 最死板的计算一个人活多久
- C++中的基类与派生类
- C语言输入,输出那些事
- C++类中的静态成员变量和静态成员函数的作用
- c++二叉树的各种遍历
- C++ 语法实验室之强大的lambda表达式
- STL学习笔记— —容器array
- C语言中的static作用
- 程序运行时的内存空间分布(二)堆和栈的比较
- ZOJ 3872-Beauty of Array(递推||DP)
- 用c语言读一张图片
- C语言编程程序的内存如何布局
- c++ <new定位运算符>与<显式调用析构函数> - 练习题
- 一个关于带武器的游戏角色类
- 一个关于带武器的游戏角色类
- 一个关于带武器的游戏角色类
- 一个关于带武器的游戏角色类
- 一个关于带武器的游戏角色类