LCS算法的C++实现
来源:互联网 发布:刀剑乱舞 pocket 数据 编辑:程序博客网 时间:2024/05/16 17:03
using namespace std;
char* LCS(char* left,char* right);
int main(){
char *left,*right;
left = new char[1024];
right = new char[1024];
cout << "please input the first string:";
cin >> left;
cout << "please input the second string:";
cin >> right;
cout << "最长公共子串是:";
cout << LCS(left,right)<<endl;
return 0;
}
char* LCS(char*left,char* right){
int lenLeft,lenRight;
lenLeft = strlen(left);
lenRight = strlen(right);
int *c = new int[lenRight];
int start,end,len;
end = len = 0;
for(int i = 0; i < lenLeft; i++){
for(int j = lenRight-1; j >= 0; j--){
if(left[i] == right[j]){
if(i == 0 || j == 0)
c[j] = 1;
else
c[j] = c[j-1]+1;
}
else
c[j] = 0;
if(c[j] > len){
len = c[j];
end = j;
}
}
}
char *p = new char[len+1];
start = end - len + 1;
for(i = start; i <= end; i++)
p[i - start] = right[i];
p[len] = '/0';
return p;
}
- LCS算法的C++实现
- Hirschberg的LCS算法实现
- LCS算法的python实现
- LCS算法的C++实现
- 【算法】LCS算法以及其JAVA的实现
- LCS 算法的改进
- LCS 算法之C++实现
- LCS算法的两种JAVA实现方式
- 算法导论中LCS的C++实现程序
- 给出两个字符串,找到最长公共子序列(LCS),返回LCS的长度。C实现
- LCS算法(动态规划实现最长公共子序列)c语言实现
- LCS的动态规划算法
- LCS的做备忘录算法
- LCS 最长公共字串算法实现
- c实现的算法
- LCS算法
- LCS算法
- LCS 算法
- 利用Ajax实现的一个DataGrid例子
- javascript世界上最被误解的语言
- 从javascript语言本身谈项目实战
- stdafx.h的作用
- LCS 算法的改进
- LCS算法的C++实现
- Struts快速入门教程
- 2006.01.21
- 基于MIDP1.0实现动画效果
- c#如何检查局域网内服务器是否连通
- 终于放假了!耶!
- 游标小样
- 名企献身说法:我们喜欢这样的简历
- 中国软件业的混乱,观总价值2亿项目后的感叹(转载)