กำหนด 3 อาร์เรย์:
int[] arr1 = { 99, 57, 63, 98 };
int[] arr2 = { 43, 99, 33, 57 };
int[] arr3 = { 99, 57, 42 };
สร้าง HashSet และหาค่าซ้ำ:
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 };
var h1 = new HashSet<int>(arr1);
var h2 = new HashSet<int>(arr2);
var h3 = new HashSet<int>(arr3);
int[] val1 = h1.ToArray();
int[] val2 = h2.ToArray();
int[] val3 = h3.ToArray();
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++;
} else if (val1[i] < val2[j]) i++;
else if (val2[j] < val3[k]) j++;
else k++;
}
}
}