static void Main(string[] args)
{
int[] randomArray = { 2, 1, 8, 7, 9, 12, 0, 3 };
MergeSort(randomArray, 0, randomArray.Length - 1);
for (int i = 0; i < randomArray.Length; ++i)
Console.WriteLine(randomArray[i]);
}
public static void MergeSort(int[] A, int p, int r)
{
if(p < r)
{
int q = (p + r) / 2;
MergeSort(A, p, q);
MergeSort(A, q + 1, r);
Merge(A, p, q, r);
}
}
public static void Merge(int[] A, int p, int q, int r)
{
int n1 = q - p + 1;
int n2 = r - q;
int[] Left = new int[n1 + 1];
int[] Right = new int[n2 + 1];
for(int i1 = 0; i1 < n1; ++i1)
{
Left[i1] = A[p + i1];
}
for(int j1 = 0; j1 < n2; ++j1)
{
Right[j1] = A[q + j1 + 1];
}
Left[n1] = int.MaxValue;
Right[n2] = int.MaxValue;
int i = 0;
int j = 0;
for(int k = p; k <= r; ++k)
{
if(Left[i] <= Right[j])
{
A[k] = Left[i];
++i;
}
else
{
A[k] = Right[j];
++j;
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律