【发布时间】:2021-05-04 12:34:56
【问题描述】:
我有一个数组 A,其值为:{10, 12, 6, 14, 7},我有一个数组 B,其值为:{1, 8, 2}
我已经按升序对数组 B 进行了排序,然后将两个数组合并到一个新数组 C 中,如以下代码所示 -
static void Main()
{
int A[] = {10, 12, 6, 14, 7};
int B[] = {1, 8, 2};
Array.Sort(B);
var myList = new List<int>();
myList.AddRange(A);
myList.AddRange(B);
int[] C = myList.ToArray();
//need values in this order: 10, 1, 12, 2, 8, 6, 14, 7
}
现在我想这样对数组 C 进行排序:10、1、12、2、8、6、14、7
较小的值应该在较大的值之间,例如:1 介于 10 和 12 之间,2 介于 12 和 8 之间,6 介于 8 和 14 之间,依此类推。
如何在 C# 中做到这一点?
如果需要递归,如何将其添加到代码中?
【问题讨论】:
-
如果您拥有的唯一标准是较小的数字必须在较大的数字之间,那么为什么它必须是 [10, 1, 12, 2, 8, 6, 14 , 7] 在你的例子中?从技术上讲,[.. 1, 12, 2 ..] 违反了这一要求。我们需要进一步澄清。
-
如果您正在寻找与上面类似的精确输出,我们能否提供更多示例输入和输出?