如何在多个数组中找到相同的元素
有多个数组,求数组的相同元素,以下是我做的,但计算太慢了,怎么办??inta1[2000],a2[2000],a3[2000],a4[2000],a5[2000],......
有多个数组,求数组的相同元素,以下是我做的,但计算太慢了,怎么办??
int a1[2000],a2[2000],a3[2000],a4[2000],a5[2000],..........a15[2000];
数组是以知的
for(i=0;i<=1999;i++)
for(i1=0;i1<=1999;i++)
..
..
for(i15=0;i15<=1999;i15++)
if(a1[i1]=a2[i2]&&a2[i2]=a3[i3]&&.........a14[i14]=a15[i15])
输出a1[i1]
我这样做运算太慢了,那位大哥教教我,谢了问题补充:
是求多个数组的交集,怎么做啊??谢谢 展开
int a1[2000],a2[2000],a3[2000],a4[2000],a5[2000],..........a15[2000];
数组是以知的
for(i=0;i<=1999;i++)
for(i1=0;i1<=1999;i++)
..
..
for(i15=0;i15<=1999;i15++)
if(a1[i1]=a2[i2]&&a2[i2]=a3[i3]&&.........a14[i14]=a15[i15])
输出a1[i1]
我这样做运算太慢了,那位大哥教教我,谢了问题补充:
是求多个数组的交集,怎么做啊??谢谢 展开
3个回答
推荐于2016-10-10 · 知道合伙人教育行家
关注
展开全部
先找数组1和数组2的相同的元素,再找相同的元素这个交集与数组3的交集,依此类推,就可以找到多个数组中相同的元素。
数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。
栈内存
在方法中定义的一些基本类型的变量和对象的引用变量都在方法的栈内存中分配,当在一段代码中定义一个变量时,java就在栈内存中为这个变量分配内存空间,当超出变量的作用域后,java会自动释放掉为该变量所分配的内存空间。
堆内存
堆内存用来存放由new运算符创建的对象和数组,在堆中分配的内存,由java虚拟机的自动垃圾回收器来管理。在堆中创建了一个数组或对象后,同时还在栈内存中定义一个特殊的变量。让栈内存中的这个变量的取值等于数组或者对象在堆内存中的首地址,栈中的这个变量就成了数组或对象的引用变量,引用变量实际上保存的是数组或对象在堆内存中的地址(也称为对象的句柄),以后就可以在程序中使用栈的引用变量来访问堆中的数组或对象。
数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。
栈内存
在方法中定义的一些基本类型的变量和对象的引用变量都在方法的栈内存中分配,当在一段代码中定义一个变量时,java就在栈内存中为这个变量分配内存空间,当超出变量的作用域后,java会自动释放掉为该变量所分配的内存空间。
堆内存
堆内存用来存放由new运算符创建的对象和数组,在堆中分配的内存,由java虚拟机的自动垃圾回收器来管理。在堆中创建了一个数组或对象后,同时还在栈内存中定义一个特殊的变量。让栈内存中的这个变量的取值等于数组或者对象在堆内存中的首地址,栈中的这个变量就成了数组或对象的引用变量,引用变量实际上保存的是数组或对象在堆内存中的地址(也称为对象的句柄),以后就可以在程序中使用栈的引用变量来访问堆中的数组或对象。
展开全部
这牵扯到算法的问题。你这样用15重循环,效率确实太低了。你可以先找数组1和数组2的交集,再找这个交集与数组3的交集,如果再找下去,这样虽然代码多些,但效率肯定要高许多。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先对两个数组排序,然后再用二分法检索
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询