14.20 实例:判断数组排列方式然后执行不同的函数
程序演示:
#include<iostream>
using namespace std;
int find1(int, const int[],int);
int find2(int, const int[],int);
bool IsSort(int[], int);
intmain()
{
int a[] = {22,1,66,88,44,32,64 };
int key;
cin >>key;
if(IsSort(a, 7)==false)
{
cout <<"采用递增算法得到的位置"<<endl;
cout <<find1(key, a, 7)<<endl;
}
else
{
cout <<"采用二分算法得到的位置"<<endl;
cout <<find2(key, a, 7)<<endl;
}
return 0;
}
bool IsSort(int a[],int length)
{
for (inti = 1;i<length;i++)
{
if (a[i- 1] > a[i])
return false;
}
return true;
}
int find1(int key,const int a[],int length)
{
for (int i = 0;i<length;i++)
{
if (a[i]== key)
return i;
}
return -1;
}
int find2(int key,const int a[],int length)
{
int left =0, right = length - 1;
while (left<= right)
{
int mid =(left + right) / 2;
if (a[mid]< key)
{
left = mid + 1;
}
else if(a[mid] == key)
{
return mid;
}
else
{
right = mid - 1;
}
}
return -1;
}
华北电力大学LSGO软件技术团队成立于2010年09月25日,团队主要以机器学习和地理信息系统为主要研究方向,成立几年来为学校培养了大量优秀人才,他们或者就职于IBM、阿里巴巴、网易游戏、百度等IT企业,或者就读于中科院信安所、中科院计算所、中科院自动化所、中国科技大学、北京理工大学、武汉大学、华南理工大学、哈尔滨工业大学、华北电力大学等著名高校。
今年(2016年07月)毕业的李文乔同学保送到北京理工大学,安晟同学继续在华北电力大学读研究生,期间华硕公司,小米公司也希望团队推荐学生就业,综上,来LSGO软件技术团队学习可作为驻保高校学生,打发课余时间的一个不错选择。
如果对我们感兴趣,可以与我联系,通过考核后即可成为我们的一员。
请阅读以下代码(C#),得到联系方式:
联系客服