摘要: 堆排序看了很久,并未实现。这次把编程珠玑和课本上的方法拿来一起温习//堆排序#includeusing namespace std;void sift(int a[],int low,int high){int i=low,j=2*i;int tmp=a[i];while(ja[j+1]) j++; //j指示孩子结点中较小的节点 if(tmp>a[j]) { a[i]=a[j]; //a[j]调整到双亲结点 i=j; //修改i和j的值,继续向下筛选 j=2*i; } else break;}a[i]=tmp;}void SiftSort(int a[],int n){int tmp; 阅读全文
posted @ 2013-09-17 15:41 sumile 阅读(176) 评论(0) 推荐(0)