日期:2014-05-17 浏览次数:20484 次
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,你这是个大课题……
参考:推荐引擎