数据结构 C语言版 作者 李云清 第10章_内排序.pptVIP

  • 13
  • 0
  • 约9.84千字
  • 约 51页
  • 2018-05-08 发布于广东
  • 举报

数据结构 C语言版 作者 李云清 第10章_内排序.ppt

/* 筛选算法 */ void sift(table *tab,int k,int m) { int i,j,finished; i=k;j=2*i;tab-r[0].key=tab-r[k].key;finished=0; while((j=m)(!finished)) { if((jm)(tab-r[j+1].keytab-r[j].key)) j++; if(tab-r[0].key=tab-r[j].key) finished=1; else { tab-r[i].key=tab-r[j].key; i=j;j=2*j; } } tab-r[i].key=tab-r[0].key; } 算法10.6 筛选算法 通过筛选算法,可以将一个任意的排序码序列建成一个堆,堆的第1个元素,即完全二叉树的根结点的值就是排序码中最小的。将选出的最小排序码从堆中删除,对剩余的部分重新建堆,可以继续选出其中的最小者,直到剩余1个元素排序即告结束。 /* 堆排序算法 */ void heapsort(table *tab) { int i; for(i=tab-length/2;i=1;i--) sift(tab,i,

文档评论(0)

1亿VIP精品文档

相关文档