<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆心得

    記我所見,記我所想

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      34 Posts :: 0 Stories :: 16 Comments :: 0 Trackbacks

    C語言實現:
    窮舉法:
    #include <iostream.h>//窮舉法計算最大公共子字符串
    #define M 100
    typedef struct
    {
    ?char str[M];
    ?int length;
    }seqstring;

    int len_link(seqstring p)
    {
    ?int i=0,length=0;
    ?while(p.str[i]!='\0')
    ?{
    ??i++;
    ??length++;
    ?}
    ?return (length);
    }

    void same(seqstring p,seqstring s)
    {
    ?seqstring r;
    ?int i=0,l,m,n=0,k;
    ?while(i<p.length)//用窮舉法求最大公共子字符串
    ?{
    ??int j=0;
    ??while(j<s.length)
    ??{
    ???if(p.str[i]==s.str[j])//以p為基準
    ???{
    ????l=1;
    ????for(m=1;i+m<p.length&&j+m<s.length&&p.str[i+m]==s.str[j+m];m++)//尋找相等的
    ????{
    ?????l++;//記錄相等字符的個數
    ????}
    ????if(l>n)
    ????{
    ????? k=i;//記錄公共字符串的起點位置
    ????? n=l;//記錄公共字符串的個數
    ????}
    ?????j=j+l;
    ???}
    ???else
    ???{
    ????j++;
    ???}
    ?? }
    ??? i++;
    ?}
    ?if(n>0)
    ?{
    ??for(i=0;i<n;i++)
    ??{
    ???r.str[i]=p.str[i+k];
    ???r.length=n;
    ??}
    ?}
    ?else
    ?{
    ??cout<<"無!";
    ?}
    ? for(i=0;i<n;i++)
    ? {
    ??cout<<r.str[i];
    ? }
    ?cout<<endl;
    }

    void main()
    {
    ? seqstring p,s;//結構體
    ? cout<<"請輸入第一個字符串元素:";
    ? cin>>p.str;
    ? cout<<"請輸入第二個字符串元素:";
    ? cin>>s.str;
    ? p.length=len_link(p);
    ? s.length=len_link(s);
    ? cout<<"最大公共子串為:";
    ? same(p,s);
    }

    java語言實現:

    基本思想是從最大字符串開始比較
    先選擇兩個字符串中 較小的一個并以其為基準? 然后由大開始向小進行比較 找到的第一個就是最大的。

    import java.sql.DriverManager;


    public class Abc {

    ?
    ?? public?? static?? String?? getSubString(String?? s1,?? String?? s2)?? {??
    ??? if?? (s1.length()?? >?? s2.length())?? {??
    ??? String?? temp?? =?? s1;??
    ??? s1?? =?? s2;??
    ??? s2?? =?? temp;??
    ??? }??
    ??? int?? n?? =?? s1.length();??
    ??? int?? index?? =?? 0;??
    ??? ok:? for?? (;?? n?? >?? 0;?? n--)?? {??
    ??? for?? (int?? i?? =?? 0;?? i?? <?? s1.length()?? -?? n?? +?? 1;?? i++)?? {??
    ??? String?? s?? =?? s1.substring(i,?? i?? +?? n);??
    ??? if?? (s2.indexOf(s)?? !=?? -1)?? {??
    ??? index?? =???? i;??
    ??? break?? ok;??
    ??? }??
    ??? }??
    ??? }??
    ??? return?? s1.substring(index,?? index?? +?? n);??
    ??? }
    ??public static void main(String[] args) throws Exception {
    ???String a="abnajfkabcdefghijklmnkajftwtlkwrejtrewq";
    ???String b="jljafabcdefghijklmnlkfjieoijjflja";
    ???
    ???String result=getSubString(a,b);
    ???System.out.println("result============="+result);
    ??
    ??}
    }

    posted on 2007-07-19 16:58 源自有緣 閱讀(1627) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 一级做a爱片特黄在线观看免费看| 亚洲日本VA中文字幕久久道具| 国产特黄一级一片免费| 国产又粗又长又硬免费视频| 亚洲精华国产精华精华液好用| 午夜免费福利在线| 亚洲国产精品美女久久久久| 在线免费观看国产视频| 亚洲AV成人精品日韩一区| 国产精品久久免费视频| 人体大胆做受免费视频| 亚洲综合网站色欲色欲| 99re在线视频免费观看| 亚洲国产人成在线观看| 在线免费观看毛片网站| 精品一区二区三区无码免费直播| 亚洲色图综合在线| 玖玖在线免费视频| 亚洲成年轻人电影网站www| 亚洲成人免费电影| 亚洲国产精华液2020| gogo全球高清大胆亚洲| 在线观看人成视频免费无遮挡| 亚洲AV无码一区东京热| 欧美最猛性xxxxx免费| 羞羞视频免费网站入口| 亚洲精品制服丝袜四区| 114一级毛片免费| 精品在线免费视频| 亚洲妇熟XXXX妇色黄| 青青草a免费线观a| 阿v视频免费在线观看| 亚洲成a人片77777老司机| 青青草国产免费久久久下载| 一级女性全黄生活片免费看| 亚洲视频在线观看地址| 国产成人免费a在线视频色戒| 三级网站免费观看| 亚洲人av高清无码| 日韩亚洲人成在线综合日本 | 无码 免费 国产在线观看91|