<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)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲精品国产成人中文| 日韩毛片免费一二三| 国产色爽女小说免费看| 一个人看的www在线免费视频 | 在线观看免费播放av片| 亚洲国产超清无码专区| 免费欧洲美女牲交视频| 国产免费拔擦拔擦8X高清在线人| 久久精品国产亚洲AV蜜臀色欲 | 亚洲精品无码Av人在线观看国产| 国产91免费在线观看| 成人嫩草影院免费观看| 亚洲国产日产无码精品| 国产综合亚洲专区在线| 无码少妇一区二区浪潮免费| 中文字幕在线成人免费看| 久久亚洲精品国产精品婷婷| 久久久久久久尹人综合网亚洲| 波多野结衣中文字幕免费视频| 精品一区二区三区免费观看| 久久精品国产99国产精品亚洲| 红杏亚洲影院一区二区三区| 成人免费视频观看无遮挡| 国产精品免费一区二区三区四区| 亚洲AV永久无码精品放毛片| 在线观看亚洲人成网站| 中文字幕专区在线亚洲| 最好免费观看韩国+日本| 18级成人毛片免费观看| a级片在线免费看| 日亚毛片免费乱码不卡一区 | 久久久久久精品成人免费图片| 成人免费视频一区二区| 亚洲日韩看片无码电影| 亚洲精品网站在线观看你懂的| 亚洲人成亚洲人成在线观看| 午夜国产羞羞视频免费网站| 女人被男人躁的女爽免费视频| 最近中文字幕mv免费高清在线| 日本亚洲欧洲免费天堂午夜看片女人员 | 亚洲专区在线视频|