判断数组是否升序

来源:互联网 发布:数据采集卡的选择 编辑:程序博客网 时间:2024/04/30 17:50
//2.试写一模板函数,测试数组a中的元素是否按照升序排列,即a[i]<=a[i+1],其中0<=i<n-1,

//如果不是,函数返回false,否则返回true。

template<class T>bool IsAscendingArray(T* a, int n){if (n == 1){return true;}return IsAscendingArray(a, n-1) && (a[n-1] >= a[n-2]);}

测试:

int _tmain(int argc, _TCHAR* argv[]){cout<<boolalpha;int a[] = {1,2,3,4,6,7};cout<<"a: "<<IsAscendingArray(a, sizeof(a)/ sizeof(a[0]))<<endl;int b[] = {9,1,2,3,4,6,7};cout<<"b: "<<IsAscendingArray(b, sizeof(b)/ sizeof(b[0]))<<endl;cout<<noboolalpha;return 0;}

结果:

a: true
b: false
请按任意键继续. . .

0 0
原创粉丝点击