C# 如何比较两数组元素是不是相同,可能顺序不一致 例"A,B,C,D" 和 "A,B,D,C"

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 如何比较两数组元素是不是相同,可能顺序不一致 例"A,B,C,D" 和 "A,B,D,C"相关的知识,希望对你有一定的参考价值。

不想一个个读出来再比较,有没有别的办法

按你的意思,先判断数组是否含有相同的元素数,如果相同则取元素的数为n,再进行下面操作。
数组为A,B。先对两个数组进行排序。
//排序的函数
using System;
namespace SelectionSorter
public class SelectionSorter
private int min;
public void Sort(int [] list)
for(int i=0;i<list.Length-1;i++)
min=i;
for(int j=i+1;j<list.Length;j++)
if(list[j]<list[min])
min=j;

int t=list[min];
list[min]=list[i];
list[i]=t;


//实行排序的代码
int[] A=new
int[]元素;//假设是int类型,A是所给数组,B同理
SelectionSorter ss=new SelectionSorter();
ss.Sort(A);
for(int m=0;m<A.Length;m++)
Console.Write("0 ",A[m]);
Console.WriteLine();
//排序后获得新的A,B
for (int i = 0,int x=0;i < n; i++)
if(A[i]=B[i]) x=x+1;

if(x=n)
Console.WriteLine("两数组元素相同");
else
Console.WriteLine("两数组元素不相同");
参考技术A 如果只是简单的比较两个数组内容是否相同,直接把两个数组转换成字符串,用String.Join()方法转成字符串,然后比较这两个字符串的值是否相等 参考技术B 遍历数组A的每个元素,对A中的每个元素看数组B中是否有相同的元素,有则标记B中该元素并继续遍历。
结束条件:B没找到相同元素;遍历结束B中还有未标记的元素
参考技术C a450496096的回答中间一句“对A中的每个元素看数组B中没有标记的元素是否有相同的”
因为存在
"A,B,C,A" 和 "A,B,C"这种情况
参考技术D 先排序再比较,数组就冒泡,arraylist直接sort()就可以了追问

比较只能是一个个读出来比较,有没有别的办法?

Python比较两组数组中元素是不是完全相同的问题

Python比较两组数组中元素是否完全相同的问题:
a = [(1,1),(2,2),(3,3),(4,4)]
b = [(4,4),(1,1),(2,2),(3,3)]
a和b的元素完全相同,只是顺序不同
我现在想要用def定义一个功能,就是检查两组数组中的元素是否完全相同,如果完全相等,用return返回true,否则返回false。上面这个例子返回值应该是true
请教大家该怎么编写这个功能

是的。

你实现的重点就是要比较两个列表的是否相同。


建议你可以先排序在比较
a.sort()
b.sort()
a==b就会返回True。

python 如何输出多个变量值

函数的return 语句只能输出一个值,可以是任何类型。


因此,可以“返回一个 tuple类型,来间接达到输出多个值 ”。


例:    x 除以 y 的余数与商的函数


def     F1 ( x, y ):


a = x % y


b = (x-a) / y


return ( a,b )      # 也可以写作  return a, b


(c, d )= F1( 9, 4)         # 也可以写作 c , d = F1 ( 9, 4 )


print c ,d


结果显示: 1, 2


Python  与大多数其它语言一样有局部变量和全局变量之分, 但是它没有明显的变量声明。变量通过首次赋值产生, 当超出作用范围时自动消亡。

参考技术A

npnp

a = np.array([1,2,3])
b = np.array([1,2,3])
c = np.array([1,2,1])
a = list(a)
b = list(b)
c = list(c)
if a==b:w=True
else:W=False
print(w)
if a==c:m=True
else:m=False
print(m)
关键是将数组转化,数组是每一个数之间比较,将会出来很多True和False,list就是
直接判断两个是否相等

参考技术B def equalSets(A, B):
if(A==B):
return True
else:
if(A.length!=B.length):
return False
else:
for i in A:
if(A[i]!=B[i]):
return False
return True
这个是针对两个数组的对比方式
参考技术C 你实现的重点就是要比较两个列表的是否相同。
建议你可以先排序在比较
a.sort()
b.sort()
a==b就会返回True。

如:
>>> a = [(1,1),(2,2),(3,3),(4,4)]
>>> b = [(4,4),(1,1),(2,2),(3,3)]
>>> a==b
False
>>> a.sort()
>>> b.sort()
>>> a
[(1, 1), (2, 2), (3, 3), (4, 4)]
>>> b
[(1, 1), (2, 2), (3, 3), (4, 4)]
>>> a==b
True本回答被提问者采纳

以上是关于C# 如何比较两数组元素是不是相同,可能顺序不一致 例"A,B,C,D" 和 "A,B,D,C"的主要内容,如果未能解决你的问题,请参考以下文章

Python比较两组数组中的元素是不是完全相同的问题

JS 比较两个数组是不是相等 是不是拥有相同元素

c#有两个数组,想把这个两组中相同的元素放在另一个数组中

如何通过 C# 比较两幅图片的相似度?

比较数组 c#

js数组方法——找出两数组中不相同的元素的集合