![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 94
C++学习笔记
Time'go'go
这个作者很懒,什么都没留下…
展开
-
堆的建立、插入与删除
堆的建立、插入与删除堆的储存结构堆元素使用的结构体定义MinHeap的类成员MinHeap的成员函数堆的储存结构堆使用完全二叉树的结构进行储存,根据完全二叉树的性质,在堆中给定下标为i的节点时:如果i=0,节点i是根节点;否则节点i的父节点为节点(i-1)/2如果2i+1>n-1,则节点i无左子女;否则节点i的左子女为2i+1如果2i+2>n-1,则节点i无右子女;否则节点i的右子女为2i+2堆元素使用的结构体定义typedef struct Message { char M原创 2020-12-06 21:25:03 · 350 阅读 · 0 评论 -
C++图、树、最小堆、并查集
图的基类定义由于使用模板基类template定义时,Visual Studio编译会出错(本人目前还没有找到很好的解决办法), 所以这里没有使用模板基类的方法,而是使用了typedef定义类型别名的方式,要修改类型的时候需要到.h头文件中修改T和E的定义。基类存在的目的是:1.规定图需要实现的功能函数;2.用户使用图是可以通过Graph类型定义对象,从而可以忽略掉图的储存结构#pragma once#define DefaultVertex 30typedef int E; //边的权值typ原创 2020-12-26 21:16:34 · 121 阅读 · 0 评论