C++ Timsort 实现

2024年8月28日 | 阅读 4 分钟

Timsort 算法是使用两种著名的排序技术实现的:插入排序和归并排序。

Timsort 的实现非常简单,我们将整个输入数组(作为输入提供给我们)分成多个我们称之为“run”的块。创建这些 run 是为了让两种排序技术的实现变得更容易。这些 run 使用插入排序算法进行排序。排序后,它们会使用归并排序中的合并函数进行合并。

C++ 代码

输出

the given array as input is : 
-12 17 15 -14 0 15 0 17 -17 -14 -13 15 18 -14 12 
Array after implementing the sorting : 
-17 -14 -14 -14 -13 -12 0 0 12 15 15 15 17 17 18