posts - 63, comments - 37, trackbacks - 0, articles - 0
  IT博客 :: 首页 :: 新随笔 :: 联系 ::  :: 管理

一趟快速排序算法描述

Posted on 2006-06-14 21:41 Enjoy Life 阅读(799) 评论(0)  编辑 收藏 引用 所属分类: DS study

一趟快速排序算法描述:

 

int Patition(SqList &L, int low, int high){

// 交换顺序表 L 中子表 L.r[low...high] 的记录,使枢轴记录到位,并返回其所在位 // 置,此时它之前(后)的记录均不大(小)于它。

    piovtkey=L.r[low].key;

    while(low<high){

       while(low<high && L.r[high].key>=piovtkey)

           --high;

       // 退出上面的循环,说明 L.r[high].key<piovtkey, 从而应该和 L.[row] // 换即把比枢轴记录小的记录交换到低端

       L.r[low]<---->L.r[high]

      

       while(low<high && L.r[low].key <= piovtkey)

           ++low;

// 退出上面的循环,说明 L.r[high].key<piovtkey, 从而应该和 L.[row]

// 换即把比枢轴记录小的记录交换到低端

       L.r[row]<----->L.r[high];

    }

    return low;// 此时 low == high

}//Patition

只有注册用户登录后才能发表评论。