快速排序.txt

来自「数据结构用C语言实现的各种排序方法」· 文本 代码 · 共 16 行

TXT
16
字号
void qksort(JD r[],int t,int w)//t和w是头、尾两个指针
{  int i,j,k;
   JD x;
   if(t>=w)  return;
   i=t; j=w; x=r[i];//x为枢轴记录
   while(i<j)
   {  while((i<j)&&(r[j].key>=x.key))  j--;//j指针向前搜索比枢轴记录小的值
      if(i<j) { r[i]=r[j]; i++; }

      while((i<j)&&(r[i].key<=x.key))  i++;//i指针向后搜索比枢轴记录大的值
      if(i<j) { r[j]=r[i]; j--; }
   }
   r[i]=x;//枢轴记录置回相应位置
   qksort(r,t,j-1);//继续递归调用,实现枢轴记录的左部分的排序
   qksort(r,j+1,w);//继续递归调用,实现枢轴记录的右部分的排序
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?