折半查找法找数
来源:互联网 发布:海量数据存储与管理 编辑:程序博客网 时间:2024/06/16 04:42
/*
* 程序的版权和版本声明部分:
* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 文件名称:折半查找法.cpp
* 作 者:毛通
* 完成日期:2013 年 1月14 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分: 有15个数按由小到大的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值,如果该数不在数组中,则打印出“无此数”
* 输入描述:无
*/
/*有15个数按由小到大的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值,如果该数不在数组中,则打印出“无此数”*/# include <iostream>using namespace std;int main(){const int n=7;int i,number,top,bott,mid,loca,a[n];bool flag=true,sign;char c;cout<<"enter data:"<<endl;cin>>a[0];i=1;while (i<n){cin>>a[i];if(a[i]>=a[i-1])i++;elsecout<<"enter this again:";}cout<<endl;for(i=0;i<n;i++){cout<<a[i]<<" ";}cout<<endl;while (flag){cout<<"input number to look for:";cin>>number;sign=false;top=0;bott=n-1;if((number<a[0])||(number>a[n-1]))loca=n-1;while ((!sign)&&(top<=bott)){mid=(bott+top)/2;if(number==a[mid]){loca=mid;cout<<"Find"<<number<<",its position is"<<loca+1<<endl;sign=true;}else if(number<a[mid])bott=mid-1;elsetop=mid+1;}if(!sign||loca==1)cout<<number<<"has not found."<<endl;cout<<"continu or not(Y/N)?";cin>>c;if(c=='N'||c=='n')flag=false;}return 0;}
- 折半查找法找数
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- 折半查找
- fcntl
- 使用va(Visual Assist X)快速添加注释 + 快捷键
- 程序员面试题精选100题(60)-判断二叉树是不是平衡
- 更新bom元件代码(BOM双位查询)
- sqlplus初始化login.sql
- 折半查找法找数
- AsyncTask
- ios开发中iphone模拟器中程序文件和数据库的存放位置
- java.io.IOException: No space left on device错误解决办法
- LINUX重启MYSQL的命令
- Android开发之Android开发规范(初)
- [Boost基础]Boost概述
- Sql Server 关于“因为数据库正在使用,所以无法获得对数据库的独占访问权”的最终解决方案
- 数据库2(step by Step)