ホームページ >バックエンド開発 >C#.Net チュートリアル >3 つの並べ替えられた配列内の共通要素を見つける C# プログラム

3 つの並べ替えられた配列内の共通要素を見つける C# プログラム

WBOY
WBOY転載
2023-09-12 11:17:021256ブラウズ

C# 程序在三个排序数组中查找公共元素

まず、ソートされた 3 つの配列を初期化します -

int []one = {20, 35, 57, 70};
int []two = {9, 35, 57, 70, 92};
int []three = {25, 35, 55, 57, 67, 70};

ソートされた 3 つの配列内の共通要素を見つけるには、while ループを使用して配列を反復し、 2 つの配列を使用して最初の配列をチェックし、3 番目の配列を使用して 2 番目の配列をチェックします。

while (i < one.Length &amp;&amp; j < two.Length &amp;&amp; k < three.Length) {
   if (one[i] == two[j] &amp;&amp; two[j] == three[k]) {
      Console.Write(one[i] + " ");
      i++;j++;k++;
   }
   else if (one[i] < two[j])
      i++;
   else if (two[j] < three[k])
      j++;
   else
      k++;
}

Example

次のコードを実行して、3 つの並べ替えられた配列で共通の要素を見つけてみます。

ライブデモ

using System;
class Demo {
   static void commonElements(int []one, int []two, int []three) {
      int i = 0, j = 0, k = 0;
      while (i < one.Length &amp;&amp; j < two.Length &amp;&amp; k < three.Length) {
         if (one[i] == two[j] &amp;&amp; two[j] == three[k]) {
            Console.Write(one[i] + " ");
            i++;j++;k++;
         }
         else if (one[i] < two[j])
            i++;
         else if (two[j] < three[k])
            j++;
         else
            k++;
      }
   }
   public static void Main() {
      int []one = {20, 35, 57, 70};
      int []two = {9, 35, 57, 70, 92};
      int []three = {25, 35, 55, 57, 67, 70};

      Console.Write("Common elements: ");

      commonElements(one, two, three);
   }
}

出力

Common elements: 35 57 70 

以上が3 つの並べ替えられた配列内の共通要素を見つける C# プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。