修改快排算法,让其按照二维数组的第二个值的大小排序

用途:贪心算法的按结束事件早的排序。

代码:

int a[5][2];
void sort(int left, int right)
{//a[i][j]   对i个进行排序,按照a【x】的第一个     (最早结束) 
    if(left >= right) return;
    int i = left;
    int j = right;
    int key = a[left][1];
    int key0 =a[left][0];
    while(i < j)                               
    {
        while(i < j && key <= a[j][1]) j--;
        a[i][0]=a[j][0];
        a[i][1]=a[j][1];
        while(i < j && key >= a[i][1]) i++;
        a[j][0] = a[i][0];
        a[j][1] = a[i][1];
    }
    a[i][1] = key;
    a[i][0]=key0;
    sort(left, i - 1);
    sort(i + 1, right);
}
发布了48 篇原创文章 · 获赞 20 · 访问量 619

猜你喜欢

转载自blog.csdn.net/weixin_42721412/article/details/103245190