当前位置: 首页 > news >正文

无锡公司建立网站国家企业信用公示(上海)

无锡公司建立网站,国家企业信用公示(上海),东莞大岭山核酸检测点,外网网站建设调研报告堆,本质是一颗完全二叉树。属于非线性结构。 代码实现可参考树的代码。 函数介绍: //此堆是小堆,大堆操作部分与小堆相反 void InitHeap(Heap* cat) {assert(cat);cat->arr NULL;cat->capacity cat->size 0; } void DestroyHeap(Heap* cat) {assert(…

堆,本质是一颗完全二叉树。属于非线性结构。

代码实现可参考树的代码。

函数介绍:

//此堆是小堆,大堆操作部分与小堆相反
void InitHeap(Heap* cat)
{assert(cat);cat->arr = NULL;cat->capacity = cat->size = 0;
}
void DestroyHeap(Heap* cat)
{assert(cat);if (cat->arr)free(cat->arr);cat->arr = NULL;
}
void Swap(int* x, int* y)
{int tmp = *x;*x = *y;*y = tmp;
}
void AdjustUp(Type* arr, int child)//小堆
{int parent = (child - 1) / 2;while (child > 0){if (arr[child] > arr[parent]){Swap(&arr[child], &arr[parent]);child = parent;parent = (child - 1) / 2;}else{break;}}
}
void HeapPush(Heap* cat, Type x)
{assert(cat);if (cat->capacity == cat->size){int newcapacity = cat->capacity == 0 ? 4 : 2 * cat->capacity;Type* tmp = (Type*)realloc(cat->arr, newcapacity * sizeof(Type));if (tmp == NULL){perror("realloc fail!");exit(1);}cat->capacity = newcapacity;cat->arr = tmp;}cat->arr[cat->size++] = x;AdjutUp(cat->arr, cat->size);
}
void AdjustDown(Type* arr, int parent, int n)//小堆
{int child = parent * 2 + 1;while (child < n){if (child + 1 < n && arr[child] > arr[child + 1])//找{child++;}if (arr[child] < arr[parent]){Swap(&arr[child], &arr[parent]);parent = child;child = parent * 2 + 1;}else{break;}}
}
void HeapPop(Heap* cat)
{assert(cat);Swap(&cat->arr[0], &cat->arr[cat->size - 1]);--cat->size;AdjustDown(cat->arr, 0, cat->size - 1);
}
//判空
bool HeapEmpty(Heap* cat)
{assert(cat);return cat->size == 0;
}
//输出堆顶数据
Type HeapTop(Heap* cat)
{assert(cat);return cat->arr[0];
}
//打印堆可用三种遍历方式打印或者树的层序遍历,此处省略

头文件介绍:

#pragma once
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>
typedef int Type;
typedef struct Heap {Type* arr;int capacity;int size;
}Heap;
void InitHeap(Heap* cat);
void DestroyHeap(Heap* cat);
void Swap(int* x, int* y);
void AdjustUp(Type* arr, int child);
void HeapPush(Heap* cat, Type x);
void AdjustDown(Type* arr, int parent, int n);
void HeapPop(Heap* cat);
bool HeapEmpty(Heap* cat);
Type HeapTop(Heap* cat);

谢谢观看!

http://www.15wanjia.com/news/192816.html

相关文章:

  • 如何修改wordpress站wordpress豆瓣电影图书分享插件
  • 学校网站制作公司做网站要备案吗
  • 做网站大概多少钱什么是企业营销型网站
  • 济南网站中企动力济南网站建站
  • wordpress子目录建站怎么选择主题百度推广按效果付费是多少钱
  • 网站排名优化公司东莞现在好找工作吗
  • 网站开发 自动生成缩略图做网站如何防止被黑
  • 京创影视appseo优化知识总结
  • pc网站手机网站appit外包公司怎么找
  • wordpress建站用什么电子邮箱
  • 接单网站做火牛博客集成wordpress
  • 广州网站设计皆赞乐云践新申请网站空间有哪几种方式
  • 企业门户网站建站dw外部网站链接怎么做
  • 网站在线解压南宁网站seo顾问
  • 个人网站怎么进后台培训网站设计
  • wordpress基础主题站虚拟主机如何做网站
  • 网站优化搜索flow创意博客wordpress主题
  • 石家庄整站优化企业网站内容以及功能模块规划的依据有哪些
  • 中山市企业网站seo营销工具怀化市优化办
  • 长治网站制作平台seo爱站网
  • 深圳专业网站建设排名wordpress 建立数据库连接时出错
  • 成都市网站制作什么公司可以做网站
  • 网站建设要咨询哪些长春有什么好的网站制作公司
  • wordpress token长沙关键词优化
  • 一 建设茶叶网站前的市场分析温州建设网站
  • 温州市微网站制作多少钱做网站需要阿里云吗
  • 网站开发中职责网站建设怎么下载代码
  • 淡蓝黑色大气企业网站模板网站开发 站长统计
  • 网站扩展虚拟空间手机代理企业网站
  • 建设局网站查询wordpress插件手动升级