轮次: 0 / 0,当前子序列长度: 1
?
算法说明迭代归并排序(Bottom-up Merge Sort)自底向上进行:初始将每个元素视为长度为1的有序子序列,然后两两合并成长度为2的有序子序列,再合并成长度为4的子序列,依此类推,直到整个序列有序。
size = 1;
while (size < n) {
for (left = 0; left < n-1; left += 2*size) {
mid = min(left+size-1, n-1);
right = min(left+2*size-1, n-1);
merge(a, left, mid, right);
}
size *= 2;
}