使用C++实现归并排序算法

归并排序基于分治思想,核心是“分解-合并”:先递归将数组拆分为单个元素(子数组有序),再合并两个有序子数组为更大有序数组。 分解过程:递归将数组从中间拆分,直到子数组仅含1个元素。合并过程:比较两个有序子数组元素,取较小值依次放入结果数组,处理剩余元素。 C++实现含两个核心函数:`mergeSort`递归分解数组,`merge`合并两个有序子数组。时间复杂度O(n log n),空间复杂度O(n)(需临时数组)。 归并排序稳定且高效,适合大规模数据排序。示例中数组`[5,3,8,6,2,7,1,4]`经分解合并后得到有序数组`[1,2,3,4,5,6,7,8]`,验证算法正确性。

阅读全文