摘要: 1. 初识 STL 什么是STL? STL(Standard Template Library) 是C++以模板形式提供的一套标准库,提供了很多开发过程需要的通用功能模块。使用 STL ,可以让开发者将主要精力用于解决程序的高级业务逻辑,而无须关心底层的基础逻辑调用。 STL 由 6 大部分组成: 阅读全文
posted @ 2022-09-28 09:52 一枚大果壳 阅读(238) 评论(0) 推荐(4) 编辑
摘要: C++ "链链"不忘@必有回响之双向链表 1. 前言 写过一篇与单链表相关的博文(https://blog.51cto.com/gkcode/5681771),实际应用中,双向循环链表的功能更强大。 单链表中,查询一个已知结点的后驱结点的时间复杂度为O(1)。因结点本身不存储与前驱结点相关的地址信息 阅读全文
posted @ 2022-09-23 08:40 一枚大果壳 阅读(136) 评论(1) 推荐(0) 编辑
摘要: 1. 前言 数组和链表是数据结构的基石,是逻辑上可描述、物理结构真实存在的具体数据结构。其它的数据结构往往在此基础上赋予不同的数据操作语义,如栈先进后出,队列先进先出…… 数组中的所有数据存储在一片连续的内存区域;链表的数据以结点形式存储,结点分散在内存的不同位置,结点之间通过保存彼此的地址从而知道 阅读全文
posted @ 2022-09-16 09:49 一枚大果壳 阅读(162) 评论(0) 推荐(1) 编辑
摘要: 1. 前言 什么是函数模板? 理解什么是函数模板,须先搞清楚为什么需要函数模板。 如果现在有一个需求,要求编写一个求 2 个数字中最小数字的函数,这 2 个数字可以是 int类型,可以是 float 类型,可以是所有可以进行比较的数据类型…… 常规编写方案:针对不同的数据类型编写不同的函数。 #in 阅读全文
posted @ 2022-09-06 14:08 一枚大果壳 阅读(232) 评论(0) 推荐(2) 编辑
摘要: 1. 前言 程序中的数据总是在流动着,既然是流动就会有方向。数据从程序的外部流到程序内部,称为输入;数据从程序内部流到外部称为输出。 C++提供有相应的API实现程序和外部数据之间的交互,统称这类API为 IO 流API。 流是一个形象概念,数据从一端传递到另一端时,类似于水一样在流动,只是流动的不 阅读全文
posted @ 2022-08-29 10:50 一枚大果壳 阅读(274) 评论(0) 推荐(1) 编辑
摘要: 1. 前言 随着计算机向着不同领域的延伸,数据的概念已经不仅局限于数值型数据,计算机需要处理大量的非数值、且复杂的类型数据。 为了能抽象地描述这些非数值、复杂类型的数据,C++引入了复合数据类型的概念。 C++数据类型分基本(原生)数据类型和复合数据类型,结构体就是一种复合数据类型。可认为复合数据类 阅读全文
posted @ 2022-08-22 12:51 一枚大果壳 阅读(387) 评论(1) 推荐(0) 编辑
摘要: 1. 前言 什么是哈夫曼树? 把权值不同的n个结点构造成一棵二叉树,如果此树满足以下几个条件: 此 n 个结点为二叉树的叶结点 。 权值较大的结点离根结点较近,权值较小的结点离根结点较远。 该树的带权路径长度是所有可能构建的二叉树中最小的。 则称符合上述条件的二叉树为最优二叉树,也称为哈夫曼树(Hu 阅读全文
posted @ 2022-08-19 14:22 一枚大果壳 阅读(323) 评论(2) 推荐(0) 编辑
摘要: 1. 前言 什么是特殊矩阵? C++,一般使用二维数组存储矩阵数据。 在实际存储时,会发现矩阵中有许多值相同的数据或有许多零数据,且分布呈现出一定的规律,称这类型的矩阵为特殊矩阵。 为了节省存储空间,可以设计算法,对这类特殊矩阵进行压缩存储,让多个相同的非零数据只分配一个存储空间;对零数据不分配空间 阅读全文
posted @ 2022-08-15 08:57 一枚大果壳 阅读(364) 评论(0) 推荐(2) 编辑
摘要: 1. 函数基础 一个C++程序中,往往需要包含若干个函数,可以说函数是C++程序的基础组成元件,是程序中的头等公民。 如果要理解程序中使用函数的具体意义,则需要了解语言发展过程中致力要解决的 2 问题: 一是完善语言的内置功能库(API),让开发者不为通用功能所干扰。 另就是通过特定的代码组织方案提 阅读全文
posted @ 2022-08-09 09:11 一枚大果壳 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 1. 前言 C++中的一维数组可以存储线性结构的数据,二维数组可以存储平面结构的数据。如班上所有学生的各科目成绩就有二个维度,学生姓名维度和科目成绩维度。 这样的表格数据可以使用二维数组进行存储。 当需要存储更多维度的数据时,可以使用多维数组。 二维数组和矩阵的关系: 有些教材上,把二维数组和矩阵当 阅读全文
posted @ 2022-07-05 08:40 一枚大果壳 阅读(516) 评论(0) 推荐(1) 编辑