折半查找

102人阅读 评论(0) 收藏 举报
分类:
#include<iostream>
#define MAXSIZE 10
typedef int KeyType;
using namespace std;
typedef struct{
    KeyType key;
}RedType;
typedef struct SqList{
    RedType r[MAXSIZE+1];//r[0]闲置或用作哨兵
    int length; 
}SSTable;

int Search_Bin(SSTable ST, KeyType K){//折半查找 
    int low=1, high=ST.length;
    int mid;
    while(low<=high){
         mid=(low+high)/2; 
         if(K<ST.r[mid].key) 
          high=mid-1; // 在左区间继续查找 
         else if(K>ST.r[mid].key)
          low=mid+1; // 在右区间继续查找 
         else  
          return mid;// 查找成功的出口 
     }//while 
     return 0;     // 查找失败的出口 
}//Search_Bin
int main(){
    SSTable ST;
    int k;
    ST.length=MAXSIZE;
    cout<<"请按有序序列输入"<<MAXSIZE<<"个元素"<<endl;
    for(int i=1;i<=MAXSIZE;i++)
        cin>>ST.r[i].key;
    cout<<"请输入要查找的元素:"; 
    cin>>k; 
    cout<<"你要找的元素在第"<<Search_Bin(ST,k)<<"个位置上"<<endl;

}
查看评论

数据结构基础系列(8):查找

-
  • 1970年01月01日 08:00

Python一日一练16----折半查找

介绍二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,...
  • a359680405
  • a359680405
  • 2016-04-14 10:52:09
  • 1444

顺序查找与折半查找的性能比较及C++ 计时函数的介绍

顺序查找和折半查找都是很常用的查找算法,他们的查找对象都是顺序表。 顺序查找就是按照顺序表,一个一个问哎是不是你是不是你,不是就继续问下一个直到找到为止,简单有效的方法。时间复杂度为O(n),平均复...
  • qq_33171970
  • qq_33171970
  • 2016-05-14 15:06:11
  • 1192

Java - 用Java写一个折半查找。

折半查找,也称二分查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于或者小于中间元素,则在...
  • chimomo
  • chimomo
  • 2017-11-03 10:04:59
  • 529

用java实现折半查找

package service; import java.util.Scanner; public class Test003 { public static int Max = 20; //...
  • Nightliar
  • Nightliar
  • 2017-01-14 23:59:55
  • 3161

数据结构例程——线性表的折半查找

本文是[数据结构基础系列(8):查找]中第3课时[线性表的折半查找]的例程。 折半查找 #include #define MAXL 100 typedef int KeyType; typedef ...
  • sxhelijian
  • sxhelijian
  • 2015-11-19 18:57:01
  • 4101

折半查找、插值查找和斐波那契查找

一、折半查找
  • cdu09
  • cdu09
  • 2014-04-07 21:32:13
  • 2402

【数据结构】折半查找

数据结构 折半查找 /* 名称:折半查找 语言:数据结构C语言版 编译环境:VC++ 6.0 日期: 2014-3-26 */ #include #include #in...
  • u010870518
  • u010870518
  • 2014-03-26 13:05:27
  • 22208

折半查找(二分搜索)的应用和技巧全面总结

折半查找应该算是算法中比较简单常见,但却很实用的方法之一了,又叫做二分搜索,其应用比较广泛,可以用于排序数组中元素的查找,复杂度仅为log(N),也可以用于有序数组中插入元素等等,一般而言针对排序数组...
  • wdxin1322
  • wdxin1322
  • 2013-10-28 17:39:59
  • 1733

C语言:折半查找的程序编写

# includeint binary_search(int arr[], int key, int left, int right) { while (left > 1); ...
  • qq_35032155
  • qq_35032155
  • 2017-04-08 16:34:52
  • 1490
    个人资料
    持之以恒
    等级:
    访问量: 1947
    积分: 295
    排名: 26万+
    文章存档
    最新评论
  • CSS

    qq_38917460: 这种语言很好上手的,找一个比较好的开发手册,按着里面的案例操作操作就很容易学会啦https://c...