日期:2014-05-17 浏览次数:20414 次
class Program { static void Main(string[] args) { List<ArrayList> li = new List<ArrayList>(); li.Add(new ArrayList() {"用户1","1","3","5","7" }); li.Add(new ArrayList() { "用户2", "2", "4", "5", "6" }); li.Add(new ArrayList() { "用户3", "1", "3", "4", "7" }); li.Add(new ArrayList() { "用户4", "1", "2", "5", "7" }); li.Add(new ArrayList() { "用户5", "1", "3", "5", "7" }); List<string[]> li_N = new List<string[]>(); for (int i = 0; i < li.Count; i++) { for (int j = i+1; j < li.Count; j++) { bool fg = GetRelationName(li[i], li[j]); if (fg) { li_N.Add(new string[] { li[i][0].ToString(), li[j][0].ToString() }); //看看结果 Console.Write(li[i][0].ToString() + "与" + li[j][0].ToString() + "有关系\r\n"); } } } Console.Read(); } //比较数组 static bool GetRelationName(ArrayList li1,ArrayList li2) { int flag = 0; for (int i = 1; i < li1.Count; i++) { if (flag <= 3) { for (int j = 1; j < li2.Count; j++) { if (li1[i] == li2[j]) { flag++; } } } else break; } if (flag == 3) return true; else return false; } }
------解决方案--------------------
LZ,你这是个大课题……
参考:推荐引擎