C# 合并只要有交集的所有集合
2024-08-29 08:43:20
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{ List<int> list1 = new List<int> { , , };
List<int> list2 = new List<int> { , , };
List<int> list3 = new List<int> { , , }; List<int> list4 = new List<int> { , , };
List<int> list5 = new List<int> { , , }; List<int> list6 = new List<int> { , , };
List<int> list7 = new List<int> { , , }; List<List<int>> list = new List<List<int>>();
list.Add(list1);
list.Add(list2);
list.Add(list3);
list.Add(list4);
list.Add(list5);
list.Add(list6);
list.Add(list7); List<int> allint = new List<int>();//所有的集合数据
HashSet<int> repeated = new HashSet<int>(); //得到没有重复的hashset
foreach (List<int> item in list)
{
foreach (int index in item)
{
if (allint.Contains(index))
repeated.Add(index);//得到所有重复的集合的元素
allint.Add(index);//得到所有的集合的元素
}
} foreach (var setkey in repeated)//循环重复的值
{
List<int> templist = null;//临时
List<List<int>> removelist = new List<List<int>>();
foreach (var item in list)//循环
{
//if (templist == null)
//{
// templist = item;
// removelist.Add(item);
//} //if (item.Contains(setkey))
//{
// removelist.Add(item);
// templist = templist.Union(item).ToList();
//} if (item.Contains(setkey))
{
if (templist == null)
{
templist = item;
removelist.Add(item);
}
else
{
removelist.Add(item);
templist = templist.Union(item).ToList();
}
}
}
foreach (var item in removelist)
{
list.Remove(item);
}
removelist.Clear();
list.Add(templist);
} foreach (var item in list)
{
foreach (var item1 in item)
{
Console.Write(item1 + " , ");
}
Console.Write("\r\n");
}
Console.ReadKey();
} }
}
最新文章
- REDIS 主从复制
- 使用7-zip制作自解压安装包
- 怎样让.bat文件开机自启动
- js连续指定两次或者多次的click事件(解决办法)
- 6to5 – 让你即刻体验 ECMAScript 6 编程
- 【MVC学习笔记01】初窥奥秘
- thymeleaf中的th:each用法
- Android 动态刷新listview中的数据
- C#与C++、Java之比较概览
- maven配置文件里改动默认jre
- spring 页面跳转
- mysql 中的socket 即 mysql.sock的作用
- ERP中自定义报表制作流程
- 定时任务schedule(quartz)
- Exp1 PC平台逆向破解 20165235 祁瑛
- [BZOJ 2743] [HEOI 2012] 采花
- 4.1.6 Grundy数-硬币游戏2
- 【转载】《Learn More Study Less》整体性学习方法
- Linux中的守护进程——supervise
- Course Schedule课程表12(用Topological Sorting)