用C++编写程序,输出两个字符串的最大公共子字符串

字符串匹配算法
本文介绍了一个简单的C++程序,用于实现两个字符串之间的匹配算法。通过遍历较短字符串的所有子串,并检查这些子串是否能在较长字符串中找到对应部分,以此来实现基本的字符串匹配功能。该算法特别适用于需要进行简单文本比对的场景。
 

  

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 int main()
 5 {
 6     string s_l,s_sh;
 7     cin>>s_l>>s_sh;
 8     if(s_l.size()<s_sh.size())
 9     {
10         string s0;
11         s0=s_l;
12         s_l=s_sh;
13         s_sh=s0;
14     }
15 
16     int len=s_sh.size();
17     string s;
18     int finds=0;
19 
20     for(int i=len;i>0;i--)
21     {
22         for(int j=0;j<len-1;j++)
23         {
24             if(i+j<=len)
25             {
26                 s=s_sh.substr(j,i);
27                 if(s_l.find(s)!=-1)
28                 {
29                     finds=1;
30                     break;
31                 }
32 
33             }
34         }
35         if(finds==1)
36         break;
37     }
38 
39     cout<<s<<endl;
40 
41     return 0;
42 }
View Code

 

转载于:https://www.cnblogs.com/xiaovlxx/p/4506298.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值