关闭

折半查找

72人阅读 评论(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;

}
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

关于折半查找算法

二月底的末唤来了阳春三月的暖,天清气朗,惠风和煦,有时候真想拿着以前放的风筝,冲出去体验一把田野奔跑的欢乐。但也只是想想而已,越来越宅的我始终也离不开手中的笔记本电脑了。 也不知道是气温上升的缘故还...
  • W_Honor
  • W_Honor
  • 2016-03-01 12:28
  • 896

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

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

算法学习之折半查找

二分查找又称折半查找  优点:  比较次数少,查找速度快,平均性能好  缺点:  要求待查表为有序表,且插入删除困难。  因此,折半查找方法适用于不经常变动而查找频繁的有序列表。 折半...
  • Oliver__Lau
  • Oliver__Lau
  • 2016-08-10 09:50
  • 298

C++实现有序表折半查找

1>算法思想: 折半查找(Binary Search)的查找过程是:先确定等查记录所在范围(区间),然后逐步缩小范围直到找到或找不到该记录为止。 2>算法 3>算法实现 #include using...
  • cxc19890214
  • cxc19890214
  • 2015-05-12 10:10
  • 2893

C++ 折半查找

C++ 折半查找       注意代码细节!!!!!!!!! #include #include #include using namespace std; #define MaxNum 100 ...
  • Crazy_For_Net
  • Crazy_For_Net
  • 2016-06-17 00:55
  • 538

折半查找判定数及平均查找长度

折半查找判定数及平均查找长度 折半查找的过程看,可用二叉树来描述,二叉树中的每个结点对应有序表中的一个记录,结点中的值为该记录在表中的位置。通常称这个描述折半查找二叉树的过程称为折半查找判定树。 ...
  • zhupengqq
  • zhupengqq
  • 2016-07-06 13:28
  • 9951

【数据结构】折半查找

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

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

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

二分查找(折半查找) -- 已排序序列的查找算法

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

顺序查找 折半查找 二叉排序树

1.顺序查找,折半查找,二叉排序树操作定义 SeqSearch.h #include #define ARRAYLEN 8 int source[]={69, 65, 90, 37, 92, 6...
  • niuyisheng
  • niuyisheng
  • 2013-07-18 21:13
  • 1522
    个人资料
    • 访问:1007次
    • 积分:201
    • 等级:
    • 排名:千里之外
    • 原创:18篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档