Xin nhận xét về bài viết hàm int* partition(int *start, int *end)

Nhờ mọi người giúp mình chỉ lỗi sai với ạ :((
Đề bài:

Bài làm:

void swap (int *a, int *b)
{
    int tmp = *a;
    *a = *b;
    *b = tmp;
}

int* partition (int *start, int *end)
{
    int pivot = *start;  
 
    int *p = start -1;

    for (int *q = start; q < end; q++)
    {
        if (*q <= pivot)
        {
            p++;
            swap(p, q);
        }
    }
    swap(p+1, end);
    return (p + 1);
}

void quickSort (*start, *end)
{
    if (start < end)
    {
        int *p = partition (*start, *end);

        quickSort(start, p-1);
        quickSort(p+1, end);
    }
void swap (int *a, int *b)
{
    int tmp = *a;
    *a = *b;
    *b = tmp;
}

int* partition (int *start, int *end)
{
    int pivot = *start;  
 
    int *p = start -1;

    for (int *q = start; q < end; q++)
    {
        if (*q <= pivot)
        {
            p++;
            swap(p, q);
        }
    }
    swap(p+1, end);
    return (p + 1);
}

void quickSort (*start, *end)
{
    if (start < end)
    {
        int *p = partition (*start, *end);

        quickSort(start, p-1);
        quickSort(p+1, end);
    }
}

Máy báo lỗi như này ạ

Bạn check lại cú pháp.
Hint: check khai báo kiểu của argument

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?