折半查找函数#include<stdio.h>
inthalf_search(intarr[],intfirst,intlast,intn)
{
intmid=0;
while(first<=last)
{
mid=(first+last)/2;
if(n<arr[mid])//若要查找的数字小于中间数,则在前一半查找
{
last=mid-1;//范围缩小
}
elseif(n>arr[mid])//若大于中..
分类:
编程语言 时间:
2015-09-25 16:36:19
阅读次数:
152
二分查找(BinarySearch)又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如..
分类:
编程语言 时间:
2015-09-19 06:21:13
阅读次数:
170
4.3 折半查找 对于有序数组的查找来说,折半查找是一种性能卓越的算法。它通过比较查找健K和数组中间元素A[m]来完成查找工作。如果它们相等,算法结束。否则,如果KA[m],则对数组的右半部分执行该操作。 折半查找是基于递归思想的,但也可以以迭代方式实现。 代码实现: /** * 折半查找(递归方式...
分类:
其他好文 时间:
2015-09-18 21:53:47
阅读次数:
257
1 #include 2 #include 3 4 int binsearch(int x,int v[],int n);//函数声明 5 6 int main() 7 { 8 int arr[]={1,2,3,4,5,6,7,8,9,10}; 9 int 结果,num;10...
分类:
编程语言 时间:
2015-09-13 00:55:57
阅读次数:
230
线性表查找算法顺序查找折半查找(线性表必须是已经排序好的) 1 /**折半查找 2 * @param obj 3 * @param value 4 */ 5 public static void halfSort(int[] obj,int value...
分类:
编程语言 时间:
2015-09-10 20:55:03
阅读次数:
173
一.while条件:while(low val2,return 1;三.注意low = center + 1和high = center - 1; 1 public class BinarySeacher { 2 public static final int NOT_FOUND = -1...
分类:
其他好文 时间:
2015-09-10 20:54:10
阅读次数:
106
class Program { static void Main(string[] args) { Console.WriteLine("请输入你要查找的信息"); int n =Convert.ToInt32(Con...
分类:
其他好文 时间:
2015-09-07 10:53:17
阅读次数:
131
//?折半查找.cpp?:?定义控制台应用程序的入口点。
//
#include?"stdafx.h"
#include<iostream>
using?namespace?std;
int?binarySearch(int?a[],int?length,int?k)
{
?int?left=0;int?right=length-...
分类:
其他好文 时间:
2015-09-01 10:56:20
阅读次数:
181
利用Java实现折半查找基本思路:while递归循环,不断判断a[middle]是否等于data,如果等于则跳出循环,返回索引值,如果不等,则进行二分处理,直至两者相等为止;其中通过count计数器记录查找次数,当count次数超过20次时视为元素不存在(此处有待优化)package test;/*...
分类:
编程语言 时间:
2015-08-28 00:25:12
阅读次数:
257
和直接插入排序相似,但是在查找有序子表的时候采用折半查找void InsertSort(ElemType A[], int n){ int i, j, low, high, mid; for(i=2; iA[0].key)//查找左半边子表 high=mid-1; else//查找右半边子表 low...
分类:
编程语言 时间:
2015-08-21 19:05:33
阅读次数:
122