程序排序技术.pptVIP

  • 1
  • 0
  • 约8.06千字
  • 约 43页
  • 2016-12-21 发布于贵州
  • 举报
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); } 快速排序----算法描述 程序演示 3.2.2 简单插入排序与希尔排序---插入类排序 1. 简单插入排序 所谓插入排序,是将无序序列中的各元素依次插入到已经有序的线性表中。 在线性表中,只包含第1个元素的子表可以看成有序表 从线性表的第2个元素开始直到最后一个元素,逐次将其中的每一个元素插入到前面已经有序的子表中。 假设线性表中前j-1个元素已经有

文档评论(0)

1亿VIP精品文档

相关文档