堆排序
来源:互联网 发布:程序员写代码的软件 编辑:程序博客网 时间:2024/06/16 03:07
堆排序是排序中的一种,十分有效,而且不像快排一样容易被坑,因此让一些神犇十分热爱。
堆排序十分有效,速度也极其迅速,确实值得学习。
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>int a[1001],len;void insert(int x){a[++len]=x;int k=len,t;while(k>1 && a[k]<a[k/2]){t=a[k];a[k]=a[k/2];a[k/2]=t;k/=2;}}int main(){int n,m,j,k,i,t;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d",&k);insert(k);}for(i=1;i<=n;i++){printf("%d ",a[1]);a[1]=a[len--];k=1;while((a[k]>a[2*k] && 2*k<=len) || (a[k]>a[2*k+1] && 2*k+1<=len)){m=2*k;if(a[m]>a[m+1] && m+1<=len) m++;t=a[k];a[k]=a[m];a[m]=t;k=m;}for(j=1;j<=len;j++)printf("%d ",a[j]);puts("");}return 0;}
2 1
- 堆及堆排序
- 堆/堆排序特点
- 【二叉堆、堆排序】
- 二叉堆 & 堆排序
- 二叉堆 & 堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆和堆排序
- 堆排序(最大堆)
- 堆和堆排序
- 堆和堆排序
- 堆及堆排序
- 堆和堆排序
- 堆与堆排序
- 使用Reachability网络监测
- C#中的lock关键字(初识)
- 从一个问题来认识android:configChanges属性
- 如何挑选适合的前端框架?
- JSP内置对象二(response和session对象)
- 堆排序
- 游戏服务器开发和维护的一些经验
- LightOJ 1370 Bi-shoe and Phi-shoe(素数筛)
- RethinnkDB, Flask, Backbone.js
- iOS-绘图系统相关学习笔记(一)
- 剑指offer——替换空格 C++
- B树与B+树
- note during using the redhat
- 使用反射动态加载