在主函数中输入两个按升序排列的整形数组,编写函数将两个数组合并成新的升序数组,并在主函数中输出
时间: 2024-12-18 20:32:47 浏览: 8
要在 C# 中实现这个功能,你可以定义一个函数来合并两个升序数组。这里我们假设两个数组长度已知并且都是整数。以下是一个简单的示例:
```csharp
using System;
class Program
{
static void Main()
{
int[] array1 = { 1, 3, 5 };
int[] array2 = { 2, 4, 6 };
// 合并两个数组并排序
int[] mergedArray = MergeAndSort(array1, array2);
// 输出结果
foreach (int num in mergedArray)
{
Console.Write(num + " ");
}
Console.WriteLine();
}
// 函数:合并并排序两个整型数组
static int[] MergeAndSort(int[] arr1, int[] arr2)
{
int[] merged = new int[arr1.Length + arr2.Length];
int i = 0, j = 0, k = 0;
while (i < arr1.Length && j < arr2.Length)
{
if (arr1[i] <= arr2[j])
{
merged[k++] = arr1[i++];
}
else
{
merged[k++] = arr2[j++];
}
}
// 将剩余元素添加到结果数组
while (i < arr1.Length)
{
merged[k++] = arr1[i++];
}
while (j < arr2.Length)
{
merged[k++] = arr2[j++];
}
// 对合并后的数组进行排序(这里使用简单插入排序)
for (k = 1; k < merged.Length; k++)
{
int temp = merged[k];
int index = k - 1;
while (index >= 0 && merged[index] > temp)
{
merged[index + 1] = merged[index];
index--;
}
merged[index + 1] = temp;
}
return merged;
}
}
```
在这个例子中,`MergeAndSort` 函数首先将两个数组中的元素逐个比较并添加到新数组中,保持升序。然后对合并后的新数组进行插入排序,确保整个数组仍然有序。
运行此程序,你会看到合并后的升序数组 `1 2 3 4 5 6`。
阅读全文