下载此文档

折半查找算法实现(C ).doc


文档分类:IT计算机 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
//此程序是折半查找的详细算法实现
#include<iostream>
using namespace std;
void CreateData(int data[],int length);//为一个数组赋值
//此函数是折半查找函数。其中data是所查寻的数组,length是数组的长度。x是所要查找的数,返回的值是数据x在数组中的位置
int Bisearch(int data[],int x,int begin,int last);//折半查找函数,使用过程中只需要给出数组名字,要查找的数值x,数组的起始位置begin及莫位置即可。
void PrintData(int data[],int length);//输出一个数组的所有元素。
void main()
{
//声明一个数组data[10],并调用CreateData()函数为该数组赋值。
int data[10];
CreateData(data,10);
//调用PrintData()函数输出data的值。
PrintData(data,10);
loop:
//定义一个整形变量用于接收用于要查找的数值,并提示用于输入该值
int x;
cout<<"请输入你要查找的值:";
cin>>x;
system("cls");
PrintData(data,10);
//调用函数Bisearch()函数查找用于输入的x在数组中的元素。
int loaction = Bisearch(data,x,0,9);
//首先判断是否查找成功
if( loaction == -1)
{
cout<<"查找失败,没有你要查找的值"<<endl;
}
//当查找成功的情况下输出用户值所在的位置。
else
{
cout<<"你要查找的值"<<x<<"的位置在第:"<<loaction+1<<"个位置!"<<endl;
}
goto loop;
}
//生成数据函数的定义。
void CreateData(int data[],int length)
{
for(int i=0;i<length;i++)
{
data[i] =i;
}
}//void CreateData(int data[],int length)
void PrintData(int data[],int length)
{
cout<<"你所要输出的数组的元素有:";
for (int i=0;i<length;i++)
{
cout<<data[i]<<" ";
}
cout<<endl;
}//void PrintData(int data[],int length)
//实现折半查找函数
int Bisearch(int data[],int x,int begin ,int last)
{
//判断是不是只有一个元素可以比较了。
if (begin >last)
{
return -1;
exit(0);
}
int mid=(begin + last) /2;
//如果x与数组中data[mid]的值相等,则查

折半查找算法实现(C ) 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小43 KB
  • 时间2018-01-07