小编kir*_*rax的帖子

使用带有预分隔间隔的mergesort

我试图阻止任何不必要的递归调用mergesort,因为我的数组是由部分预分类,例如:

22, 233, 445, 1055, 1, 14, 94, 74545, 75, 134, 323, 9090, 2, 43, 6342, 323452
Run Code Online (Sandbox Code Playgroud)

我正在使用通用mergesort实现

void merge(int a[], int low, int mid, int high)
{
    int b[10000];
    int i = low, j = mid + 1, k = 0;

    while (i <= mid && j <= high) {
        if (a[i] <= a[j])
            b[k++] = a[i++];
        else
            b[k++] = a[j++];
    }
    while (i <= mid)
        b[k++] = a[i++];

    while (j <= high)
        b[k++] = a[j++];

    k--;
    while (k …
Run Code Online (Sandbox Code Playgroud)

c sorting algorithm mergesort

6
推荐指数
1
解决办法
424
查看次数

标签 统计

algorithm ×1

c ×1

mergesort ×1

sorting ×1