求最长公共序列长度-递归

来源:互联网 发布:手机淘宝 降价提醒 编辑:程序博客网 时间:2024/06/05 06:24
#include<stdio.h> 
#include<stdlib.h>
int max(int a,int b)
{
if(a>=b)
return a;
else
return b;
}
int f(int *s1,int *s2)//返回s1,s2最大公共序列长度 
{
if(*s1==-1||*s2==-1)//判断是否结束 
return 0;
if(*s1==*s2)
return f(s1+1,s2+1)+1;
else
return max(f(s1+1,s2),f(s1,s2+1));
}
int main()
{
int a[6]={1,3,4,5,7,-1};
int b[7]={2,3,5,3,5,7,-1};
printf("%d\n",f(a,b));//a,b以-1标志结尾 
}
0 0
原创粉丝点击