C#程序使用集合在三个数组中查找公共元素

设置三个数组

int[] arr1 = {

   99,

   57,

   63,

   98

};

int[] arr2 = {

   43,

   99,

   33,

   57

};

int[] arr3 = {

   99,

   57,

   42

};

现在,使用HashSet设置上述元素。

//HashSet One-

var h1 = new HashSet < int > (arr1);

//哈希集二

var h2 = new HashSet < int > (arr2);

//哈希集三

var h3 = new HashSet < int > (arr3);

让我们查看完整的代码以查找常见元素。

示例

using System;

using System.Collections.Generic;

using System.Linq;

public class Program {

   public static void Main() {

      int[] arr1 = {

         99,

         57,

         63,

         98

      };

      int[] arr2 = {

         43,

         99,

         33,

         57

      };

      int[] arr3 = {

         99,

         57,

         42

      };

      //HashSet One-

      var h1 = new HashSet < int > (arr1);

      //哈希集二

      var h2 = new HashSet < int > (arr2);

      //哈希集三

      var h3 = new HashSet < int > (arr3);

      //显示

      int[] val1 = h1.ToArray();

      Console.WriteLine("Set one...");

      foreach(int val in val1) {

         Console.WriteLine(val);

      }

      //显示

      int[] val2 = h2.ToArray();

      Console.WriteLine("Set two...");

      foreach(int val in val2) {

         Console.WriteLine(val);

      }

      //显示

      int[] val3 = h3.ToArray();

      Console.WriteLine("Set three...");

      foreach(int val in val3) {

         Console.WriteLine(val);

      }

      int i = 0, j = 0, k = 0;

      Console.WriteLine("Common elements...");

      while (i < val1.Length && j < val2.Length && k < val3.Length) {

         if (val1[i] == val2[j] && val2[j] == val3[k]) {

            Console.Write(val1[i] + " ");

            i++;

            j++;

            k++;

         }

         // x < y

         else if (val1[i] < val2[j])

         i++;

         // y < z

         else if (val2[j] < val3[k])

         j++;

         else

         k++;

      }

   }

}

以上是 C#程序使用集合在三个数组中查找公共元素 的全部内容, 来源链接: utcz.com/z/357779.html

回到顶部