C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#での2つのHashSetの交差


2つのHashSetの共通部分を見つけるためのコードは、次のとおりです-

using System;
using System.Collections.Generic;
public class Demo {
   public static void Main(){
      HashSet<string> set1 = new HashSet<string>();
      set1.Add("AB");
      set1.Add("CD");
      set1.Add("EF");
      set1.Add("AB");
      set1.Add("IJ");
      set1.Add("KL");
      set1.Add("EF");
      set1.Add("OP");
      Console.WriteLine("Elements in HashSet1");
      foreach(string val in set1){
         Console.WriteLine(val);
      }
      HashSet<string> set2 = new HashSet<string>();
      set2.Add("EF");
      set2.Add("KL");
      Console.WriteLine("\nElements in HashSet2");
      foreach(string val in set2){
         Console.WriteLine(val);
      }
      Console.WriteLine("Count of elements in HashSet2 = " + set2.Count);
      set2.Remove("KL");
      Console.WriteLine("\nElements in HashSet2... (UPDATED)");
      foreach (string res in set2){
         Console.WriteLine(res);
      }
      Console.WriteLine("Count of elements in HashSet2 (Updated) = " + set2.Count);
      Console.WriteLine("\nIs set1 a superset of set2? "+set1.IsSupersetOf(set2));
      set1.IntersectWith(set2);
      Console.WriteLine("\nIntersection result...");
      foreach(string str in set1){
         Console.WriteLine(str);
      }
   }
}

出力

これにより、次の出力が生成されます-

Elements in HashSet1
AB
CD
EF
IJ
KL
OP
Elements in HashSet2
EF
KL
Count of elements in HashSet2 = 2 Elements in HashSet2... (UPDATED)
EF
Count of elements in HashSet2 (Updated) = 1
Is set1 a superset of set2? True Intersection result...
EF

別の例を見てみましょう-

using System;
using System.Collections.Generic;
public class Demo {
   public static void Main(){
      HashSet<int> set1 = new HashSet<int>();
      set1.Add(30);
      set1.Add(60);
      set1.Add(70);
      set1.Add(80);
      set1.Add(100);
      set1.Add(125);
      Console.WriteLine("Elements in HashSet1");
      foreach(int val in set1){
         Console.WriteLine(val);
      }
      HashSet<int> set2 = new HashSet<int>();
      set2.Add(30);
      set2.Add(60);
      set2.Add(70);
      set2.Add(80);
      set2.Add(100);
      set2.Add(125);
      Console.WriteLine("\nElements in HashSet2");
      foreach(int val in set2){
         Console.WriteLine(val);
      }
      set1.IntersectWith(set2);
      Console.WriteLine("\nIntersection result...");
      foreach(int val in set1){
         Console.WriteLine(val);
      }
   }
}

出力

これにより、次の出力が生成されます-

Elements in HashSet1
30
60
70
80
100
125
Elements in HashSet2
30
60
70
80
100
125
Intersection result...
30
60
70
80
100
125

  1. Cで2つの複素数を追加するプログラム

    a1+ib1とa2+ib2の形式の2つの複素数が与えられた場合、タスクはこれら2つの複素数を加算することです。 複素数は、「a + ib」の形式で表現できる数です。ここで、「a」と「b」は実数であり、iは式の解である虚数です𝑥2=-1 as no実数は方程式を満たしているため、虚数と呼ばれています。 入力 a1 = 3, b1 = 8 a2 = 5, b2 = 2 出力 Complex number 1: 3 + i8 Complex number 2: 5 + i2 Sum of the complex numbers: 8 + i10 説明 (3+i8) + (5+i2) =

  2. C++での2つのリンクリストの交差

    リンクリストは線形データ構造であり、各ノードには2つのブロックがあり、一方のブロックにはノードの値またはデータが含まれ、もう一方のブロックには次のフィールドのアドレスが含まれます。 各ノードにリスト内の他のノードを指すランダムポインタが含まれるようなリンクリストがあると仮定します。タスクは、2つのリンクリストが互いに交差するノードを見つけることです。それらが交差しない場合は、出力としてNULLまたは空を返します。 例 入力-1: 出力: 2 説明: 指定されたリンクリストはノードで値「2」と交差するため、出力として値「2」を返します。 入力-2: 出