代码改变世界

快速排序

2007-04-26 16:18  乱世文章  阅读(259)  评论(0编辑  收藏  举报
快速排序算法
void quicksort (sqlist r, int s, int t)
{
     int i=s, j=t;
     if (s<t)
     do
     {
          r[0] =r[s];  /*r[0]暂存选出的数据*/
          while( j>1 && r[j].key >=r[0].key)
               j--;
          if (i<j)
          {
                   r[i]=r[j];
                   i++;
           }
快速排序算法续
       while (i<j && r[i].key <=r[0].key)
               i++;
        if (i<j)
        {
              r[j]=r[i];
               j--;
          }
     }while (i<j);
     r[i]=r[0];
     quicksort(r,s,j-1);  /*递归处理前一部分*/
     quicksort(r,j+1,t);  /*递归处理后一部分*/
}