static void Main(string[] args) //程序从main函数开始运行 { int[] L1 = { 34, 72, 13, 44, 25, 30, 10 }; //自定义的数组 int[] L2 = { 34, 13, 44, 7, 25 }; string[] P = { "我", "的", "名字", "是", "刘", "一", "达" }; //自定义的对象 string[] Q = { "刘", "一达", "是", "个", "好", "名字" }; LCS lcs = new LCS(); //实例化一个lcs对象 lcs.LCS_LENGTH(L1, L2); //整形情况 for (int i = 0; i < L1.Length; i++) //遍历这个矩阵依次打印回溯左上角的元素 { for (int j = 0; j < L2.Length; j++) { if (lcs.b[i, j] == "left_up") { Console.WriteLine("{0}", L1[i]); } } } lcs.LCS_LENGTH1(P, Q); //字符串情况 for (int i = 0; i < P.Length; i++) { for (int j = 0; j < Q.Length; j++) { if (lcs.b[i, j] == "left_up") { Console.WriteLine("{0}", P[i]); } } } Console.ReadLine(); }
// public void symbol(char a) // { // LCS.LCS_LENGTH(X,Y); // } static void Main(string[] args) //程序从main函数开始运行 { int[] L1 = { 14, 56, 13, 44, 25, 30, 10, 7 }; //自定义的数组 int[] L2 = { 14, 13, 44, 7, 25 }; string[] M = { "我", "不是", "名", "一个", "侦", "探", "柯", "南" }; //自定义的对象 string[] N = { "名", "侦", "探", "柯", "南", "小胖" }; LCS lcs = new LCS(); //实例化一个lcs对象 lcs.LCS_LENGTH(L1, L2); //运用lcs类中的方法 for (int i = 0; i < L1.Length; i++) //遍历这个矩阵依次打印回溯左上角的元素 { for (int j = 0; j < L2.Length; j++) { // lcs.LCSW(lcs.a,lcs.b, L1, i, j); // Console.WriteLine("{0}", L1[i]); if (lcs.b[i, j] == "left_up") { Console.WriteLine("{0}", L1[i]); } // else if (lcs.b[i, j] == "up") // Console.WriteLine("{0}", L1[i]); // else // Console.WriteLine("{0}", L1[i]); } } lcs.LCS_LENGTH1(M, N); //同理 for (int i = 0; i < M.Length; i++) { for (int j = 0; j < N.Length; j++) { //lcs.LCSP(lcs.b, list1, i, j); if (lcs.b[i, j] == "left_up") { Console.WriteLine("{0}", M[i]); } } } Console.ReadLine(); }