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()メソッドを使用して、以下に示すように配列に変換し直します-

using System;
using System.Collections.Generic;

public class Program {
   public static void Main() {
      int[] array1 = { 56, 70, 77};
      int[] array2 = { 80, 99, 180};
      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);
      }
   }
}

出力

56
80
70
99
77
180

  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モジュールにはいくつかのプロパ