第章查找和排序技术修改.pptVIP

  • 1
  • 0
  • 约8.06千字
  • 约 44页
  • 2018-10-11 发布于江苏
  • 举报
第章查找和排序技术修改

qksort1(p,m,n) int m,n; ET p[]; { int i; if (n>m) /*子表不空*/ {i=split(p,m,n); /*分割*/ qksort1(p,m,i-1);/*对前子表进行快速排序*/ qksort1(p,i+1,n);/*对后子表进行快速排序*/ } return; } 快速排序----算法描述 int split(p,m,n) /*返回分界线位置*/ int m,n; ET p[]; { int i,j,k,u;ET t; i=m; j=n; k=(i+j)/2; if ((p[i]>=p[j])(p[j]>=p[k])) u=j; /*选取一个元素*/ else if ((p[i]>=p[k])(p[k]>=p[j])) u=k; else u=i; t=p[u]; p[u]=p[i]; while (i!=j) { while ((i<j)(p[j]>=t)) j=j-1; if (i<j) { p[i]=p[j]; i=i+1;} while ((i<j)(p[i]<=t)) i=i+1; if (i<j) { p[j]=p[i]; j=j-1;} } p[i]=t; return(i); } 快速排序----算法描述 程序演示 教材刊误

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档