您的位置:首页 > 其它

判断一个数组中的数值是否连续相邻

2015-03-13 21:32 567 查看
一个整数数列,元素在 0--65535 中任意取值,相同的数字不会重复出现,0是例外,可以反复出现。

#include<iostream>

using namespace std;

//判断一个正数数组中数值是否连续(不存在数值相等的情况)

bool IsContinue(int *a,int n)

{

int max=-1,min=-1;

int count=0; //用来统计数字 0 的个数

for(int i=0;i<n;i++)

{

if(a[i]!=0)

{

if(max<a[i]||max==-1)

max=a[i];

if(min>a[i]||min==-1)

min=a[i];

}

else

count++;

}

int result=max-min;

if(result+1==n-count)

return true;

else

return false;

}

int main()

{

int a[]={1,2,3,4,5,6,7,0,8,9};

int length_a=sizeof(a)/sizeof(a[0]);

if(IsContinue(a,length_a))

cout<<"该数组为连续相邻的数组!!"<<endl;

else

cout<<"该数组为非连续相邻的数组!!"<<endl;

system("pause");

return 0;

}

输出结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: