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

C#で2つのソートされた配列をマージします


2つのソートされた配列をマージするには、最初に2つのソートされた配列を設定します-

int[] array1 = { 1, 2 };
int[] array2 = { 3, 4 };

次に、それをリストに追加してマージします-

var list = new List<int>();
for (int i = 0; i < array1.Length; i++) {
   list.Add(array1[i]);
   list.Add(array2[i]);
}

ToArray()メソッドを使用して、配列に変換し直します-

int[] array3 = list.ToArray();

以下は完全なコードです-

using System;
using System.Collections.Generic;

public class Program {
   public static void Main() {
      int[] array1 = { 1, 2 };
      int[] array2 = { 3, 4 };
      var list = new List<int>();
      for (int i = 0; i < array1.Length; i++) {
         list.Add(array1[i]);
         list.Add(array2[i]);
      }
      int[] array3 = list.ToArray();
      foreach(int res in array3) {
         Console.WriteLine(res);
      }
   }
}

出力

1
3
2
4

  1. Pythonで2つの並べ替えられたリストをマージする

    2つの並べ替えられたリストAとBがあるとします。それらをマージして、1つの並べ替えられたリストCのみを形成する必要があります。リストのサイズは異なる場合があります。 たとえば、A=[1,2,4,7]およびB=[1,3,4,5,6,8]とすると、マージされたリストCは[1,1,2,3,4、 4,5,6,7,8] これは再帰を使用して解決します。したがって、関数は次のように機能します- 関数merge()のリストAとBを想定します Aが空の場合はBを返し、Bが空の場合はAを返します Aの値<=Bの値の場合、A.next =merge(A.next、B)そしてAを返します それ以外の場合

  2. heapqを使用してPythonで2つのソートされた配列をマージしますか?

    このセクションでは、Pythonのheapqモジュールを使用して2つのソートされたリストをマージする方法を説明します。例として、list1 =[10、20、30、40]およびlist2 =[100、200、300、400、500]の場合、マージ後、list3 =[10、20、30、40、100、 200、300、400、500] このタスクを実行するには、heapqモジュールを使用します。このモジュールには、標準ライブラリモジュールとしてPythonが付属しています。したがって、使用する前にインポートする必要があります。 import heapq heapqモジュールにはいくつかのプロパ