Algorithm学习笔记 --- C语言实现二分查找
2017-08-25 11:41
537 查看
int BinSearch(SeqList *R, int n, KeyType k) { int low = 0; int high = n - 1; int mid; while(low < high) { if(R[low].key == k) return low; if(R[high].key == k) return high; mid = low + ((high - low) / 2); //注:此处如果使用low + high的结果大雨表达式结果类型所能表达的最大值时, //会产生溢出,结果不正确。 if(R[mid].key == k) return mid; if(R[mid].key < k) low = mid + 1; else high = mid - 1; } if (low > high) return -1; }
相关文章推荐
- 算法(第4版) 学习笔记二——二分查找的普通实现与递归实现
- C语言调用库函数实现二分查找
- 数据结构 学习笔记之:顺序栈的C语言实现
- 算法导论学习笔记(四):求X的N次方的二分实现
- 数据结构与算法分析学习笔记二-栈的C语言实现
- 学习笔记——atoi函数的用法及用C语言实现atoi
- 学习笔记——strstr函数的C语言实现,不调用库函数
- 顺序表查找(顺序查找、二分查找) C语言实现
- 使用c语言指针和递归方法实现二分查找
- 二分查找(Binary Search)需要注意的问题,以及在数据库内核中的实现[谁有源码麻烦贴过来个链接学习学习]
- 算法学习---基本数据类型的数组二分查找实现
- 一个无聊男人的疯狂《数据结构与算法分析-C++描述》学习笔记 用C++/lua/python/bash的四重实现(4)二分搜索算法
- C语言实现二分查找
- C语言实现 二分查找 支持降序和升序
- C#学习笔记—数组的折半查找(二分查找)
- 韩顺平_轻松搞定网页设计(html+css+javascript)_第28讲_js二维数组_js冒泡排序_二分查找_学习笔记_源代码图解_PPT文档整理
- C语言实现 二分查找数组中的Key值(递归和非递归)
- 学习笔记——C语言实现单链表的基本操作:创建、输出、插入结点、删除结点、逆序链表
- 学习笔记——C语言实现单链表的基本操作:创建、输出、插入结点、删除结点、逆序链表
- C语言调用库函数实现二分查找