堆排序练习 hdu 1425 sort
2012-07-21 19:01
405 查看
不只是堆排序,其他排序也能过,很水的题,拿来练习堆排序的。
代码:
代码:
#include<stdio.h> #include<stdlib.h> int a[1000002]; void heapadjust(int *a, int k, int n) { int i, j; i=k; j=2*i; a[0]=a[i]; while(j<=n) { if ((j<n) && a[j]>a[j+1]) j++; if (a[0]>a[j]) { a[i]=a[j]; i=j; j=2*i; } else break; } a[i]=a[0]; } void heapsort(int *a, int n) { int j; for (j=n/2; j>=1; j--) heapadjust(a, j, n); for (j=n; j>1; j--) { a[0]=a[j]; a[j]=a[1]; a[1]=a[0]; heapadjust(a, 1, j-1); } } int main() { int n, m, i; while(scanf("%d%d", &n, &m)==2) { for (i=1; i<=n; i++) scanf("%d", &a[i]); heapsort(a, n); if (m>n) m=n; for (i=1; i<=m; i++) { printf("%d", a[i]); if (i==m) printf("\n"); else printf(" "); } } }
相关文章推荐
- HDU 1425 sort 快速排序
- HDU 1425 sort (排序)
- sort 1425 hdu(hash 和 sort排序)
- HDU 1425 sort (排序)
- hdu 1425:sort(排序,经典题。快排模板)
- HDU 1425 sort hash+加速输入
- HDU 3293 sort(结构体排序)
- hdu 1425 sort hash
- hdu 1425排序
- hdu 1425 sort 解题报告
- hdu 1425 sort
- HDU 1425 Sort
- HDU 1425--sort【水题】
- HDU 1425 sort hash+加速输入
- 练习使用 STL sort 对容器进行排序
- HDU--杭电--3293--sort--结构体排序
- 第八章线性时间排序之“基数排序RADIX-SORT”(练习8.3-1)
- HDU 1425 sort
- HDU 1425 sort
- hdu 1425 sort