//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
请按任意键继续. . .