zoukankan      html  css  js  c++  java
  • C# 比较两个数组中的内容是否相同的算法

    这里要比较的是两个数组中的内容是否相同,以int数组为例

    int[] Arraya=new[] {1,2,3,4,5}

    int[] Arrayb=new[] {5,3,2,1,4}

    以上两个数组内的值是相同的,都是1,2,3,4,5.具体的算法如下。

    第一种就是最原始的方法,使用循环。

    public static bool compareArr(int[] arr1,int[] arr2){

    bool[] flag=new bool[arr1.Length];//初始化一个bool数组,初始值全为false;

    for(int i=0;i<arr1.Length;i++){

    for(int j=0;j<arr2.Length;j++){

    if(arr1[i]==arr2[j]) flag[i]=true;//遇到有相同的值,对应的bool数组的值设为true;

    }

    }

    foreach(var item in flag){

    if(item==false) return false; //遍历bool数组,还有false,就说明有不同的值,结果返回false。

    }

    return true;

    }

    第二种方法可以借助Linq查询来比较。

       public static bool compareArr(int[] arr1, int[] arr2)

            {

        var q = from a in arr1 join b in arr2 on a equals b select a;           

        bool flag = arr1.Length == arr2.Length && q.Count() == arr1.Length;        

        return flag;//内容相同返回true,反之返回false。

            }

  • 相关阅读:
    set-find
    set-equal_range
    set-equal_range
    set-erase
    php 抽象类 静态 单体设计模式
    Servlet 工作原理解析
    职场上一个人情商高的十种表现
    快速学习一门新技术入门
    php中14中排序方式的实现
    php中对Mysql数据库的访问操作
  • 原文地址:https://www.cnblogs.com/halia/p/3173210.html
Copyright © 2011-2022 走看看