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
-
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を返します それ以外の場合
-
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モジュールにはいくつかのプロパ