/*
(*^__^*) 嘻嘻
新手交流啊!
不喜勿好啊!
反正免费啊!
哼哼哼哼哼!
*/
#include <IOSTREAM>
using namespace std;
int mdfind(int ,int [],int );
int efind(int ,int [],int );
bool count(int [] ,int ); //检测是否排序
void main()
{
int s[]={8,18,23,96,15,26,95};
int r;
r=sizeof(s)/sizeof(int);
bool check;
check=count(s,r);
cout<<"请输入你要在数组查找的数据!";
int k;
cin>>k;
if (check==true)
{
cout<<"执行二分算法!"<<endl;
int g;
g=efind(k,s,r)+1;
cout<<k<<"在数组中下标的位置为:"<<g<<endl;
}
else
{
cout<<"执行递增算法!"<<endl;
int g;
g=mdfind(k,s,r)+1;
cout<<k<<"在数组中下标的位置为:"<<g<<endl;
}
}
int mdfind(int f ,int s[],int c)
{
int i;
for (i=0;i<c;i++)
{
if (s==f)
{
return i;
}
}
return c;
}
int efind(int f,int s[],int n)
{
int t=0,h=n-1,x;
while(t<=h)
{
x=(t+h)/2;
if (s[x]==f)
{
return x;
}
if (s[x]<f)
{
t=x+1;