摘要: #include <stdio.h>void exch(int& a, int &b){ int tmp = a; a = b; b = tmp;}void fixdown(int a[], int k, int N){ while(2*k <= N) { int j=k*2; if(j<N && a[j]<a[j+1]) j++; if(!(a[k]<a[j])) break; exch(a[k], a[j]); k = j; }}void heapsort(int a[], int l... 阅读全文
posted @ 2012-11-12 12:34 wouldguan 阅读(711) 评论(0) 推荐(0) 编辑
摘要: #include <stdio.h>void exch(int& a, int &b){ int tmp = a; a = b; b = tmp;}void fixup(int a[], int k){ while(k>1 && a[k/2]<a[k]) { exch(a[k/2], a[k]); k/=2; }}void fixdown(int a[], int k, int N){ while(2*k <= N) { int j=k*2; if(j<N && a[j]<a[j+1]) j... 阅读全文
posted @ 2012-11-12 10:49 wouldguan 阅读(204) 评论(0) 推荐(0) 编辑
摘要: void exch(int& a, int &b){ int tmp = a; a = b; b = tmp;}void fixup(int a[], int k){ while(k>1 && a[k/2]<a[k]) { exch(a[k/2], a[k]); k/=2; }}void fixdown(int a[], int k, int N){ while(2*k <= N) { int j=k*2; if(k<N && a[j]<a[j+1]) j++; if(!(a[... 阅读全文
posted @ 2012-11-12 09:50 wouldguan 阅读(196) 评论(0) 推荐(0) 编辑