将二叉树调整成大根堆,之后排序
来源:互联网 发布:姓名大战 源码 编辑:程序博客网 时间:2024/06/01 15:42
#include<stdio.h>#include<stdlib.h>//调整成大根堆函数void Make_A_Heap(int a[], int n){ int t, end, pa, tag; //初始化数据域 end = n; tag = 1; while (tag) { pa = end / 2; tag = 0; while (pa > 0) { if (a[pa] < a[2 * pa]) { t = a[pa]; a[pa] = a[2 * pa]; a[2 * pa] = t; tag = 1; } if ((2 * pa + 1<= end)&&a[2 * pa + 1] > a[pa]) { t = a[2 * pa + 1]; a[2 * pa + 1] = a[pa]; a[pa] = t; tag = 1; } pa--; } }}//排序函数void Sort_Heap(int a[], int n){ int t, end=n; while (end-1) { Make_A_Heap(a, end); //交换a[1]和a[end],数组长度长度减1 t = a[1]; a[1] = a[end]; a[end] = t; end--; }}int main(void){ //创建一个二叉树 int a[9] = { 0,3,2,5,8,4,7,6,9 }; //Make_A_Heap(a, 8); Sort_Heap(a, 8); for (int i = 1; i < 9; i++) { printf("%5d",a[i]); } system("pause"); return 0;}
阅读全文
0 0
- 将二叉树调整成大根堆,之后排序
- 二叉排序(查找)树的调整
- 题目:将二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向
- 平衡二叉树调整
- 平衡二叉树调整
- 平衡二叉树调整
- 调整平衡二叉树
- 平衡二叉树调整
- 二叉堆 删除 插入 调整 堆排序
- java 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
- 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向
- (Java实现)输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向
- 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
- 牛客原题 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
- 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
- 平衡二叉树的调整
- 平衡二叉树及调整
- 平衡二叉树的调整
- 简单的升降排序与冒泡排序
- .Net2.0实现扩展方法
- zookeeper常用的特性与使用场景
- jpa学习和jpa与spring整合(一)
- 在Mac OS X上构建wget来抓取静态网站内容
- 将二叉树调整成大根堆,之后排序
- C语言中Static和Const关键字的的作用
- serlvet实现简单的伪流传输推送视频网站
- iOS self 和 super区别以及为什么要self = [super init];
- java中数组的用法
- centos7下iptables防火墙的使用
- SQL文件写入MySQL问题
- SSM综合配置文件【注解】
- 查找算法总结