Computer >> Máy Tính >  >> Lập trình >> C#

Chương trình C # để kiểm tra xem hai danh sách có ít nhất một phần tử chung

Đặt danh sách đầu tiên.

int[] arr1 = {
   65,
   57,
   63,
   98
};

Bây giờ, hãy đặt danh sách thứ hai.

int[] arr2 = {
   43,
   65,
   33,
   57
};

Bây giờ chúng ta hãy xem mã hoàn chỉnh để kiểm tra xem hai danh sách có các phần tử chung bằng cách sử dụng toán tử ==và <.

Ví dụ

using System;
using System.Collections.Generic;
using System.Linq;

public class Program {
   public static void Main() {
      int[] arr1 = {
         65,
         57,
         63,
         98
      };

      int[] arr2 = {
         43,
         65,
         33,
         57
      };

      // HashSet One
      var h1 = new HashSet < int > (arr1);
      // HashSet Two
      var h2 = new HashSet < int > (arr2);

      // Displaying
      int[] val1 = h1.ToArray();
      Console.WriteLine("Set one...");
      foreach(int val in val1) {
         Console.WriteLine(val);
      }

      //Displaying
      int[] val2 = h2.ToArray();
      Console.WriteLine("Set two...");
      foreach(int val in val2) {
         Console.WriteLine(val);
      }

      int i = 0, j = 0;
      Console.WriteLine("Common elements:");
      while (i < val1.Length && j < val2.Length) {
         if (val1[i] == val2[j]) {
            Console.Write(val1[i] + " ");
            i++;
            j++;
         } else if (val1[i] < val2[j])
         i++;
         else
         j++;
      }
   }
}

Đầu ra

Set one...
65
57
63
98
Set two...
43
65
33
57
Common elements:
65 57