快排这样写该怎么改成对的呀?

求指点为什么这样写不对呀,求怎么写才对
求指点为什么这样写不对呀,求怎么写才对
求指点为什么这样写不对呀,求怎么写才对

img

您这个是sort里边的交换函数吗(原谅我很菜)?
要是是交换函数就参照下面的代码

int cmp(code a,code b){//code是自定义的一个结构体
    return a<b;//这个是从小到大排序的cmp如果要从大到小,直接把<改成>就行了
}

如果是快排的模板就参照下面的代码

void qqsort(int l,int r){
    int mid=a[(l+r)/2];
    int i=l,j=r;
    do{
        while(a[i]<mid) i++;
        while(a[j]>mid) j--;
        if(i<=j){
            swap(a[i],a[j]);
            i++;
            j--;
        }
    }while(i<=j);
    if(l<j) qqsort(l,j);
    if(i<r) qqsort(i,r);
}

真的原谅我特别菜,看不懂大佬写的是什么,www