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

建设网站需要花钱吗在哪查询网站做的哪些外链

建设网站需要花钱吗,在哪查询网站做的哪些外链,做网站怎么对接国际收款商户,西安做网站优化的公司数据结构 —— 堆的实现#xff08;顺序表#xff09; 一.堆1.1堆的定义及结构1.1.1.堆的定义1.1.2.堆的性质1.1.3.堆的结构 二.堆的实现2.1.头文件的实现 —— #xff08;Heap.h#xff09;2.2.源文件的实现 —— #xff08;Heap.c#xff09;2.2.1.小堆的源文件2.2.2… 数据结构 —— 堆的实现顺序表 一.堆1.1堆的定义及结构1.1.1.堆的定义1.1.2.堆的性质1.1.3.堆的结构 二.堆的实现2.1.头文件的实现 —— Heap.h2.2.源文件的实现 —— Heap.c2.2.1.小堆的源文件2.2.2.大堆的源文件 2.3.源文件的实现 —— test.c 三.实际数据测试展示3.1.插入数据3.1.1.小堆插入 ——调试窗口展示3.1.2.大堆插入 ——调试窗口展示 3.2 打印前k个最值 ——小型top-k问题3.2.1.小堆打印前k个最小值 —— 运行展示3.2.2.大堆打印前k个最大值 —— 运行展示 3.3简单类堆排序 ——非真堆排序3.3.1.类小堆排序 ——运行展示3.3.2.类大堆排序 ——运行展示 一.堆 1.1堆的定义及结构 1.1.1.堆的定义 堆就是以二叉树的顺序存储方式来存储元素同时又要满足父亲结点存储数据都要大于儿子结点存储数据也可以是父亲结点数据都要小于儿子结点数据的一种数据结构。堆只有两种即大堆和小堆大堆就是父亲结点数据大于儿子结点数据小堆则反之。 1.1.2.堆的性质 堆中某个节点的值总是不大于或不小于其父节点的值 堆总是一棵完全二叉树。 1.1.3.堆的结构 用图画展示就如下图所示 (1).小堆展示 (2).大堆展示 二.堆的实现 2.1.头文件的实现 —— Heap.h Heap.h#pragma once#includestdio.h #includestdlib.h #includestdbool.h #includeassert.h//小堆 typedef int HPDataType; typedef struct Heap {HPDataType* a;int size;int capacity; }HP;//创建/销毁 void HeapInit(HP* php); void HeapDestroy(HP* php); //插入/删除 void HeapPush(HP* php, HPDataType x); void HeapPop(HP* php); //获取堆顶元素 HPDataType HeapTop(HP* php); //判空/统计堆内元素个数 bool HeapEmpty(HP* php); int HeapSize(HP* php);2.2.源文件的实现 —— Heap.c 2.2.1.小堆的源文件 Heap.c#includeHeap.h//小堆 //创建/销毁 void HeapInit(HP* php) {assert(php);php-a NULL;php-size 0;php-capacity 0; } void HeapDestroy(HP* php) {assert(php);free(php-a);php-a NULL;php-size php-capacity 0; }//交换函数 void Swap(HPDataType* p1, HPDataType* p2) {HPDataType tmp *p1;*p1 *p2;*p2 tmp; }//向上调整函数 void AdJustUp(HPDataType* a, int child) {int parent (child - 1) / 2;while (child 0){if (a[child] a[parent]){Swap(a[child], a[parent]);child parent;parent (child - 1) / 2;}else{break;}} } //插入/删除 void HeapPush(HP* php, HPDataType x) {assert(php);if (php-size php-capacity)//判断数组空间不够就扩容{int newcapacity php-capacity 0 ? 4 : php-capacity * 2;HPDataType* tmp (HPDataType*)realloc(php-a, newcapacity * sizeof(HPDataType));if (tmp NULL){perror(realloc fail);exit(-1);}php-a tmp;php-capacity newcapacity;}php-a[php-size] x;php-size;AdJustUp(php-a, php-size - 1);} //向下调整函数 void AdJustDown(HPDataType* a, int size, int parent) {int child parent * 2 1;while (child size){if (child1 size a[child 1] a[child]){child;}if (a[child] a[parent]){Swap(a[child], a[parent]);parent child;child parent * 2 1;}else{break;}} } void HeapPop(HP* php) {assert(php);Swap(php-a[0], php-a[php-size - 1]);php-size--;AdJustDown(php-a, php-size, 0); } //获取堆顶元素 HPDataType HeapTop(HP* php) {assert(php);assert(php-size 0);return php-a[0];} //判空/统计堆内元素个数 bool HeapEmpty(HP* php) {assert(php);return php-size 0; } int HeapSize(HP* php) {assert(php);assert(php-size 0);return php-size; }2.2.2.大堆的源文件 Heap.h#includeHeap.h//大堆 //创建/销毁 void HeapInit(HP* php) {assert(php);php-a NULL;php-size 0;php-capacity 0; } void HeapDestroy(HP* php) {assert(php);free(php-a);php-a NULL;php-size php-capacity 0; }//交换函数 void Swap(HPDataType* p1, HPDataType* p2) {HPDataType tmp *p1;*p1 *p2;*p2 tmp; }//向上调整函数 void AdJustUp(HPDataType* a, int child) {int parent (child - 1) / 2;while (child 0){if (a[child] a[parent]){Swap(a[child], a[parent]);child parent;parent (child - 1) / 2;}else{break;}} } //插入/删除 void HeapPush(HP* php, HPDataType x) {assert(php);if (php-size php-capacity)//判断数组空间不够就扩容{int newcapacity php-capacity 0 ? 4 : php-capacity * 2;HPDataType* tmp (HPDataType*)realloc(php-a, newcapacity * sizeof(HPDataType));if (tmp NULL){perror(realloc fail);exit(-1);}php-a tmp;php-capacity newcapacity;}php-a[php-size] x;php-size;AdJustUp(php-a, php-size - 1);} //向下调整函数 void AdJustDown(HPDataType* a, int size, int parent) {int child parent * 2 1;while (child size){if (child1 size a[child 1] a[child]){child;}if (a[child] a[parent]){Swap(a[child], a[parent]);parent child;child parent * 2 1;}else{break;}} } void HeapPop(HP* php) {assert(php);Swap(php-a[0], php-a[php-size - 1]);php-size--;AdJustDown(php-a, php-size, 0); } //获取堆顶元素 HPDataType HeapTop(HP* php) {assert(php);assert(php-size 0);return php-a[0];} //判空/统计堆内元素个数 bool HeapEmpty(HP* php) {assert(php);return php-size 0; } int HeapSize(HP* php) {assert(php);assert(php-size 0);return php-size; }2.3.源文件的实现 —— test.c test.c#includeHeap.h//小堆 int main() {HP ph;HeapInit(ph);int a[] { 4,6,2,1,5,8,2,9};for (int i 0; i (sizeof(a) / sizeof(int)); i){HeapPush(ph, a[i]);//插入}//获取前k个最小值/*int k 3;while (k--){printf(%d\n, HeapTop(ph));HeapPop(ph);}*///小堆排序while (!HeapEmpty(ph)){printf(%d , HeapTop(ph));HeapPop(ph);}return 0; }//大堆 //int main() //{ // HP ph; // HeapInit(ph); // int a[] { 4,6,2,1,5,8,2,9 }; // for (int i 0; i (sizeof(a) / sizeof(int)); i) // { // HeapPush(ph, a[i]); // } // //前k个最大值 // /*int k 3; // while (k--) // { // printf(%d\n, HeapTop(ph)); // HeapPop(ph); // }*/ // //大堆排序 // while(!HeapEmpty(ph)) // { // printf(%d , HeapTop(ph)); // HeapPop(ph); // } // return 0; //}三.实际数据测试展示 3.1.插入数据 3.1.1.小堆插入 ——调试窗口展示 3.1.2.大堆插入 ——调试窗口展示 3.2 打印前k个最值 ——小型top-k问题 3.2.1.小堆打印前k个最小值 —— 运行展示 3.2.2.大堆打印前k个最大值 —— 运行展示 3.3简单类堆排序 ——非真堆排序 3.3.1.类小堆排序 ——运行展示 3.3.2.类大堆排序 ——运行展示
http://www.pierceye.com/news/376181/

相关文章:

  • 做网站写的代号好跟不好的区别中国500强企业官网
  • html个人网站wordpress 后台 字数统计
  • 网站开发包括哪些技术网站后台框架模版
  • 济南地产行业网站开发长春网络推广
  • 网站建设全程揭秘网站建设费能抵扣吗
  • 网站开发用什么语言最安全网站的ftp在哪里可以查到
  • 物理结构网站我国网站建设现状
  • 毕设如何做网站tk网站免费
  • 做logo的著名网站一起做网商网站怎么样
  • 楼盘销售管理网站开发资源网站界面设计形考
  • 哪个网站做视频挣钱网络推广方案下拉管家微xiala11
  • 天津营销型网站建设费用来宾绍兴seo网站托管方案
  • 哈尔滨网站制作工程上海网站快速优化排名
  • 兰州网站制作怎么样质量好网站建设公司
  • wordpress全站cdn ssl商务局网站溪江农贸市场建设
  • 花都网站开发公司做一个安卓app多少钱
  • 优秀的电子商务网站网页设计与制作的实训报告怎样写
  • 素材网站做一家网站费用
  • 找哪些公司做网站seo网络优化师就业前景
  • 手机商城网站案例高中男女做那个视频网站
  • 凡客诚品网站航天桥网站建设
  • 烟台网站建设力推企汇互联见效付款网站收录大幅度下降
  • 五河网站建设哪家好百度seo优化服务
  • 城乡住房和城乡建设部网站首页wordpress简历
  • 域名注册网站搭建深圳市宝安区建设局网站
  • 手机网站建设价格是多少湖北省建设规划网站
  • 单位建设网站硬件网站建设的规模设想
  • 白云区网站开发广州番禺最新通告
  • 哈密北京网站建设汽车网站推广策划方案
  • 做钢材的都用什么网站新泰房产网