码迷,mamicode.com
首页 > 其他好文 > 详细

链表快排

时间:2018-09-13 22:33:49      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:ret   ack   div   ext   blog   while   swap   val   return   

https://blog.csdn.net/otuhacker/article/details/10366563

每次是小数的最后一个,然后用的next位置进行的交换,如果第二个数比第一个数小,就相当于第二数和自己进行交换

pNode* partition(pNode* start,pNode* end){
    int num = start->val;
    pNode* p = start;
    pNode* q = start->next;
    while(q != end){
        if(q->val < num){
            p = p->next;
            swap(p->val,q->val);
        }
        q = q->next;
    }
    swap(p->val,start->val);
    return p;
}


void quick_sort(pNode* start,pNode* end){
    if(start != end){
        pNode* index = partition(start,end);
        quick_sort(start,index);
        quick_sort(index->next,end);
    }
}

 

链表快排

标签:ret   ack   div   ext   blog   while   swap   val   return   

原文地址:https://www.cnblogs.com/ymjyqsx/p/9643318.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!