随笔分类 -  c++

摘要:哈夫曼树及其应用 赫夫曼树(最优二叉树):带权路径长度最小的二叉树 书上代码的 c++ 实现: #include <vector> #include <string> #include <iostream> using namespace std; struct HTNode { unsigned 阅读全文
posted @ 2024-06-14 16:20 卑以自牧lq 阅读(70) 评论(0) 推荐(0)
摘要:表达式求值 数据结构 严蔚敏版 3.2.5 表达式求值,c++ 代码实现。 注意: 输入表达式不能有空格 #include <stack> #include <string> #include <vector> #include <unordered_map> #include <algorithm 阅读全文
posted @ 2024-06-11 15:25 卑以自牧lq 阅读(36) 评论(0) 推荐(0)
摘要:# Dijkstra 算法——求解最短路径问题 迪杰斯特拉算法(Dijkstra's algorithm)是一种用于解决单源最短路径问题的贪心算法。它可以找到从一个起始顶点到其他所有顶点的最短路径,并且适用于边的权重非负的图。 算法步骤如下: 1. 创建一个数组 dist,用于保存起始顶点到其他顶点 阅读全文
posted @ 2023-07-25 16:02 卑以自牧lq 阅读(255) 评论(0) 推荐(0)
摘要:线段切割不规则多边形 在项目中有用线段切割多边形的需求。所以在网上找到了一篇比较好的实现。 原博客地址:多边形切割 求出多边形和线段的所有交点。把多边形本身的点,和遍历到的交点,按遍历的顺序放入数组 points 中。 找到和第一个交点最近的交点(第二个或是最后一个,因为多边形可能有线段交叉的情况) 阅读全文
posted @ 2023-05-15 11:03 卑以自牧lq 阅读(383) 评论(0) 推荐(0)
摘要:c++ static 关键字 有五种用法 静态成员变量 不需要声明对象就可以访问 内存分配在全局数据区,只分配一次内存,所有的对象共享静态成员变量 静态成员变量必须初始化,初始化时分配内存 遵循 public、private、protected 访问规则 sizeof 不计算静态成员变量 生命周期: 阅读全文
posted @ 2023-04-25 16:51 卑以自牧lq 阅读(27) 评论(0) 推荐(0)
摘要:c++ const 关键字 作用 修饰变量,说明该变量不可改变 修饰指针,分为指向指针的常量 (pointer to const) 和 自身是常量的指针 (const pointer) 修饰引用,指向常量的引用 (reference to const) 修饰成员函数,说明该成员函数内不能修改成员变量 阅读全文
posted @ 2023-04-21 15:44 卑以自牧lq 阅读(36) 评论(0) 推荐(0)
摘要:c++ 静态绑定和动态绑定 C++ 中有两种不同的函数调用方式:静态绑定和动态绑定。 静态绑定 静态绑定是指在编译时确定调用哪个函数。也就是说,编译器会根据函数调用的名称和参数类型来确定要调用的函数。这种方式也被称为静态多态或编译时多态。 静态绑定适用于以下情况: 在编译时已经知道调用哪个函数。 函 阅读全文
posted @ 2023-04-20 15:03 卑以自牧lq 阅读(302) 评论(0) 推荐(0)
摘要:C++是一种高级编程语言,它支持两种不同的编译方式:静态编译和动态编译。下面是它们的介绍: 静态编译 静态编译是将程序代码和库函数一起编译成一个可执行文件的过程。在静态编译过程中,程序代码和库函数的代码被组合在一起,形成一个独立的可执行文件,该文件可以在任何系统上运行,因为它包含了所有所需的代码和库 阅读全文
posted @ 2023-04-20 14:04 卑以自牧lq 阅读(1038) 评论(0) 推荐(0)
摘要:设计模式之单例模式 单例模式(Singleton Pattern) 一种创建型设计模式,用于确保一个类只能创建一个实例,并提供一个全局访问该实例的方式。 定义一个单例类: 私有化它的构造函数,以防止外界创建单例类的对象; 使用类的私有静态变量指向类的唯一实例; 使用一个公有的静态方法获取该实例。 单 阅读全文
posted @ 2023-04-17 15:57 卑以自牧lq 阅读(34) 评论(0) 推荐(0)