判断数组是否递增

 

#include <iostream>
using namespace std;
//优化前的递归
bool IsIncrement(int* a,int n){
 
if(n<=1)
  
return true;
 
if(a[0]<=a[1]){
  
IsIncrement(a+1,n-1);
 }

 
else
  
return false;
}

//优化后的递归
bool IsBigger(int a[],int n){
 
return(n<=1 || a[0]<=a[1&& IsBigger(a+1,n-1));//从前往后
}

bool IsBig(int* a,int n){
 
return(n<=1 || a[n-2]<=a[n-1&& IsBig(a,n-1));//从后往前
}

//非递归的
bool Increment(int a[],int n){
 
for(int i=1;i<n;i++)
  
if(a[i]<a[i-1])
   
return false
 
return true;  
}
 
int main()
{
 
int a[5]={1,2,3,4,5};
 cout
<<boolalpha<<IsBig(a,5);
 system(
"pause");
 
return 0;
}

 

posted on 2011-06-08 19:04 Hsssssss 阅读(296) 评论(0)  编辑 收藏 引用 所属分类: C++代码


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2024年5月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

导航

统计

常用链接

留言簿

文章分类

文章档案

收藏夹

搜索

最新评论