两个数组求交集最快 如何写一个c语言程序求两个集合的交集?
浏览量:3125
时间:2021-03-10 14:45:56
作者:admin
如何写一个c语言程序求两个集合的交集?
定义两个数组来存储这两个集合,然后定义一个数组来存储它们的集合。使用类似于气泡排序的算法,遍历数组1中的第一个元素和数组2中的每个元素。如果存在相同的元素,则将此元素放入第三个数组并继续遍历,直到数组1遍历了所有元素,那么数组3中的元素就是两个数组(集)的交点。
已知递增有序的两个单链表A,B分别存储了一个集合。设计算法实现求两个集合的交集的运算A=A∩B?
Array< int> a=new Array< int>[M]Array< int> B=new Array< int>[n]Array< int> C=new Array< int>[M,n]int i=0foreach(LISTA中的int k){a[i]=ki}int=1foreach(listb中的int k){B[n-i]=ki--}merge(a,B,C)复杂性O(M,n)
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。