資料結構課程設計,由使用者輸入兩個字串串x和y,再由使用者輸入乙個任意的字串z,實現以下功能:
①如果字串z是字串x的子串,則顯示z在x中的位置並記錄,如果字串z是字串y的子串,則顯示z在y中的位置並記錄,如果z既不是x的子串也不是y的子串,則顯示不匹配。
②找出x和y的乙個最長公共子串。
③置換: 使用者輸入任意的字串去置換x和y中的子串z。
思想:首先使用kmp演算法進行匹配,快速定位子串在主串中的匹配位置。使用動態規劃的思想,求出最長公共子串,然後使用跟子串一樣長度的新字串來替換主串中的字串。
完整的**如下:
執行結果如下圖:
資料結構課程設計 最長公共子串
資料結構課程設計,由使用者輸入兩個字串串x和y,再由使用者輸入乙個任意的字串z,實現以下功能 如果字串z是字串x的子串,則顯示z在x中的位置並記錄,如果字串z是字串y的子串,則顯示z在y中的位置並記錄,如果z既不是x的子串也不是y的子串,則顯示不匹配。找出x和y的乙個最長公共子串。置換 使用者輸入任...
資料結構課程設計 最長公共子串
資料結構課程設計,由使用者輸入兩個字串串x和y,再由使用者輸入乙個任意的字串z,實現以下功能 如果字串z是字串x的子串,則顯示z在x中的位置並記錄,如果字串z是字串y的子串,則顯示z在y中的位置並記錄,如果z既不是x的子串也不是y的子串,則顯示不匹配。找出x和y的乙個最長公共子串。置換 使用者輸入任...
最長公共子串行 最長公共子串
1 最長公共子串行 採用動態規劃的思想,用乙個陣列dp i j 記錄a字串中i 1位置到b字串中j 1位置的最長公共子串行,若a i 1 b j 1 那麼dp i j dp i 1 j 1 1,若不相同,那麼dp i j 就是dp i 1 j 和dp i j 1 中的較大者。class lcs el...