
C++
文章平均质量分 93
Rossy Yan
代码的世界里执着探索的行者 ——Rossy Yan。专注于 C++、C 语言、数据结构、Vue.js、HarmonyOS 应用开发等前沿技术领域,致力于将复杂的技术知识转化为清晰易懂的教程与案例。期待与更多编程爱好者携手共进,在技术的海洋中破浪前行,一同解锁编程世界的无限可能!
展开
-
腾讯云智能结构化 OCR:驱动多行业数字化转型的核心引擎
在当今数字化时代的汹涌浪潮中,数据已跃升为企业发展的关键要素,其高效、精准的处理成为企业在激烈市场竞争中脱颖而出的核心竞争力。腾讯云智能结构化OCR技术凭借其前沿的科技架构与卓越的功能特性,宛如一颗璀璨的明星,在交通、物流、金融、零售、泛互等众多行业的苍穹中闪耀,为企业的数字化转型之旅照亮前行的道路。原创 2025-01-07 18:14:01 · 1837 阅读 · 0 评论 -
【C++面向对象——类与对象】Computer类(头歌实践教学平台习题)【合集】
声明一个简单的Computer类,含有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等等,以及两个公有成员函数run、stop。只能在类的内部访问。这是一种数据隐藏的机制,用于保护类的数据不被外部随意修改。根据提示,在右侧编辑器补充代码,平台会对你编写的代码进行测试。成员可以在派生类(继承该类的子类)中访问。成员,在类的外部不能直接访问。可以在类的外部直接访问。为了完成本关任务,你需要掌握。原创 2025-01-07 17:55:53 · 1084 阅读 · 0 评论 -
【C++面向对象——类与对象】CPU类(头歌实践教学平台习题)【合集】
声明一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,以及两个公有成员函数run、stop。根据提示,在右侧编辑器补充代码,平台会对你编写的代码进行测试。相关知识类的声明和使用。类的声明和对象的声明。构造函数和析构函数的执行。一、类的声明和使用1.类的声明基础在C++中,类是创建对象的蓝图。类的声明定义了类的成员,包括数据成员(变量)和成员函数(方法)。一个简单的类声明示例如下:classMyClass{public:int原创 2025-01-07 17:59:28 · 1737 阅读 · 0 评论 -
【C++数据结构——树】二叉树的遍历算法(头歌教学实验平台习题) 【合集】
本关任务:实现二叉树的遍历。相关知识为了完成本关任务,你需要掌握:建立二叉树、先序遍历、中序遍历、后序遍历、层次遍历。测试说明平台会对你编写的代码进行测试:输入:A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))输出:二叉树b:A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))层次遍历序列:ABCDEFGHIJKLMN先序遍历序列:ABDEHJKLMNCFGI中序遍历序列:DB原创 2025-01-07 18:08:41 · 2003 阅读 · 0 评论 -
【C++面向对象——类的多态性与虚函数】编写教学游戏:认识动物(头歌实践教学平台习题)【合集】
在C++编程语言中,typeid运算符扮演着十分重要的角色,它与sizeof()运算符类似,都是语言内置的、能够在编译或运行阶段提供特定信息的机制。typeid运算符的核心作用在于获取对象或者类型的类型信息,其运算结果会返回一个typeinfo类型的对象。这个typeinfo类是C++标准库中定义好的一个类,它封装了与类型相关的诸多细节信息,而其中比较常用的就是成员函数name(),通过调用这个函数能够获取到对应的类型名字,进而帮助我们知晓具体的对象类型。原创 2025-01-07 18:09:14 · 1743 阅读 · 0 评论 -
【C++数据结构——图】图的遍历(头歌教学实验平台习题) 【合集】
本关任务:编写一个程序实现图的遍历。相关知识为了完成本关任务,你需要掌握:深度优先遍历(采用递归算法)广度优先遍历深度优先遍历1.定义深度优先遍历(Depth-FirstSearch,简称DFS)是一种用于遍历或搜索图(包括树,树是一种特殊的图)的算法。采用递归算法的深度优先遍历是指在遍历图的过程中,通过递归调用函数自身来实现对图中节点的深度优先访问。其基本思想是从给定的起始节点开始,沿着一条路径尽可能深地探索图,直到无法继续或者达到目标节点,然后回溯到前一个节点,继续探索其他未访原创 2025-01-07 18:08:34 · 2382 阅读 · 0 评论 -
【C++面向对象——类的多态性与虚函数】计算图像面积(头歌实践教学平台习题)【合集】
任务描述相关知识纯虚函数抽象类的使用1.纯虚函数一、特点函数声明形式纯虚函数在声明时有其特定的语法形式,如virtual函数类型函数名(参数列表)=0;。以之前提到的Base类中的virtualvoidFunc()=0;为例,virtual关键字表明这是一个虚函数,而最后的=0则明确指出它是纯虚函数,意味着该函数在当前类(这里是Base类)中不提供具体的函数实现(也就是没有函数体),仅预留函数名和参数列表等信息,等待派生类去完善其具体功能。不原创 2025-01-07 18:07:36 · 6286 阅读 · 0 评论 -
【C++数据结构——树】二叉树的性质(头歌实践教学平台习题)【合集】
目录😋本关任务:相关知识:根据二叉树的括号表示串,创建二叉树计算二叉树的结点个数、叶子结点个数、某结点的层次和二叉树的宽度测试说明我的通关代码:测试结果:开始你的任务吧,祝你成功!测试结果原创 2025-01-07 17:58:58 · 6094 阅读 · 0 评论 -
【C++数据结构——树】哈夫曼树(头歌实践教学平台习题) 【合集】
【数据结构——树】哈夫曼树(头歌实践教学平台习题)【合集】目录任务描述相关知识测试说明我的通关代码:测试结果:任务描述本关任务:编写一个程序构建哈夫曼树和生成哈夫曼编码。相关知识为了完成本关任务,你需要掌握:1.如何构建哈夫曼树,2.如何生成哈夫曼编码。测试说明平台会对你编写的代码进行测试:测试输入:1192677541518462450242195190181174157138124123(用户分别输入所列单词的频度)预原创 2025-01-07 17:59:05 · 863 阅读 · 0 评论 -
【C++数据结构——树】二叉树的基本运算(头歌实践教学平台习题)【合集】
本关任务:编写一个程序实现二叉树的基本运算。相关知识创建二叉树销毁二叉树查找结点求二叉树的高度输出二叉树//二叉树节点结构体定义structTreeNode{intval;TreeNode*left;TreeNode*right;TreeNode(intx):val(x),left(NULL),right(NULL){}};创建二叉树//创建二叉树函数(简单示例,手动构建)TreeNode*create原创 2025-01-07 18:00:04 · 1021 阅读 · 0 评论 -
【C++数据结构——图】最小生成树(头歌实践教学平台习题) 【合集】
【数据结构——图】最小生成树(头歌实践教学平台习题)目录任务描述相关知识测试说明我的通关代码:测试结果:【合集】任务描述本关任务:编写一个程序求图的最小生成树。相关知识为了完成本关任务,你需要掌握:1.建立邻接矩阵,2.Prim算法。建立邻接矩阵上述带权无向图对应的二维数组,根据它建立邻接矩阵,如图1建立下列邻接矩阵。注意:INF表示无穷大,表示整数:32767intA[MAXV][MAXV];Prim算法普里姆(Prim)算法是一种构造性算法,从候选边中挑原创 2025-01-07 18:02:07 · 859 阅读 · 0 评论 -
【C++数据结构——图】图的邻接矩阵和邻接表的存储(头歌实践教学平台习题)【合集】
本关任务:编写一个程序实现图的邻接矩阵和邻接表的存储。(输入图的顶点数和边数,再输入图的邻接矩阵。(INF表示无穷大,表示整数:32767)开始你的任务吧,祝你成功!(Prim算法求解结果)原创 2025-01-07 18:02:27 · 569 阅读 · 0 评论 -
【C++数据结构——栈和队列】括号配对(头歌实践教学平台习题)【合集】
【数据结构——栈和队列】括号配对(头歌实践教学平台习题)【合集】(1)遇到左括号:进栈Push()(2)遇到右括号:若栈顶元素为左括号,则出栈Pop();否则返回false。(3)当遍历表达式结束,且栈为空时,则返回true,否则返回false。本关任务:编写一个程序利用栈判断左、右圆括号是否配对。为了完成本关任务,你需要掌握:栈对括号的处理。(1)遇到左括号:进栈Push()开始你的任务吧,祝你成功!测试输入:(()))原创 2025-01-07 18:03:20 · 576 阅读 · 0 评论 -
【C++数据结构——栈与队列】环形队列的基本运算(头歌实践教学平台习题)【合集】
【数据结构——栈与队列】环形队列的基本运算(头歌实践教学平台习题)【合集】初始化队列、销毁队列、判断队列是否为空、进队列、出队列等。本关任务:编写一个程序实现环形队列的基本运算。(6)出队列序列:yzopq2*(5)依次进队列元素:opq2*(6)出队列序列:bcdef。(2)依次进队列元素:abc。(5)依次进队列元素:def。(2)依次进队列元素:xyz。开始你的任务吧,祝你成功!(4)出队一个元素a。(4)出队一个元素x。原创 2025-01-07 18:03:27 · 323 阅读 · 0 评论 -
【C++数据结构——栈与队列】链栈的基本运算(头歌实践教学平台习题)【合集】
本关任务:编写一个程序实现链栈的基本运算。开始你的任务吧,祝你成功!相关知识初始化栈销毁栈判断栈是否为空进栈出栈取栈顶元素初始化栈概念:初始化栈是为栈的使用做准备,包括分配内存空间(如果是动态分配)和设置栈的初始状态。栈有顺序栈和链式栈两种常见形式。对于顺序栈,通常需要定义一个数组来存储栈元素,并设置一个变量来记录栈顶位置;对于链式栈,需要定义节点结构,包含数据域和指针域,同时初始化栈顶指针。示例(顺序栈):以下是一个简单的顺序栈初始化示例,假设用C语言实现,栈中存储整数,最大原创 2025-01-07 18:04:05 · 457 阅读 · 0 评论 -
【C++数据结构——栈与队列】顺序栈的基本运算(头歌实践教学平台习题)【合集】
本关任务:编写一个程序实现顺序栈的基本运算。开始你的任务吧,祝你成功!相关知识初始化栈销毁栈判断栈是否为空进栈出栈取栈顶元素1.初始化栈概念:初始化栈是为栈的使用做准备,包括分配内存空间(如果是动态分配)和设置栈的初始状态。栈有顺序栈和链式栈两种常见形式。对于顺序栈,通常需要定义一个数组来存储栈元素,并设置一个变量来记录栈顶位置;对于链式栈,需要定义节点结构,包含数据域和指针域,同时初始化栈顶指针。示例(顺序栈):以下是一个简单的顺序栈初始化示例,假设用C语言实现,栈中存储原创 2025-01-07 17:54:31 · 393 阅读 · 0 评论 -
【C++数据结构——查找】二叉排序树(头歌实践教学平台习题)【合集】
【数据结构——查找】二叉排序树(头歌实践教学平台习题)【合集】目录任务描述相关知识测试说明我的通关代码:测试结果:任务描述本关任务:实现二叉排序树的基本算法。相关知识为了完成本关任务,你需要掌握:二叉树的创建、查找和删除算法。具体如下:(1)由关键字序列(4,9,0,1,8,6,3,5,2,7)创建一棵二叉排序树bt并以括号表示法输出。(2)判断bt是否为一棵二叉排序树。(3)采用递归方法查找关键字为6的结点,并输出其查找路径。(4)分别删除bt中关键原创 2025-01-07 18:03:35 · 1058 阅读 · 0 评论 -
【C++数据结构——查找】顺序查找(头歌实践教学平台习题)【合集】
若查找的关键字k=5,则SeqSearch函数输出是3,6,2,10,1,8,5,并返回值7。若查找的关键字为k=15,则函数输出是3,6,2,10,1,8,5,7,4,9,并返回值0。假设顺序表中R的关键字依次是3,6,2,10,1,8,5,7,4,9,(第一行是输入的一组原始关键字数据,第二行是要查找的关键字)顺序查找算法中要依次输出与k所比较的关键字,用空格分隔开。本关任务:实现顺序查找的算法。开始你的任务吧,祝你成功!原创 2025-01-07 18:03:42 · 851 阅读 · 0 评论 -
【C++数据结构——图】最短路径(头歌教学实验平台习题) 【合集】
任务描述本关任务:编写一个程序,利用Dijkstra算法,实现带权有向图的最短路径。相关知识为了完成本关任务,你需要掌握:Dijkst本关任务:编写一个程序,利用Dijkstra算法,实现带权有向图的最短路径。为了完成本关任务,你需要掌握:Dijkstra算法。带权有向图:该图对应的二维数组如下所示:Dijkstra算法:Dijkstra算法是指给定一个带权有向图G与源点v,求从v到G中其他顶点的最短路径。Dijkstra算法的具体步骤如下:(1)初始时,S只包含源点,即S={v},v的距离为0。原创 2025-01-07 17:58:48 · 1342 阅读 · 0 评论 -
【C++数据结构——查找】二分查找(头歌实践教学平台习题)【合集】
二分查找的基本思想是:每次比较中间元素与目标元素的大小,如果中间元素等于目标元素,则查找成功;顺序表是线性表的一种存储方式,它用一组地址连续的存储单元依次存储线性表中的数据元素,使得逻辑上相邻的元素在物理存储位置上也相邻。第1次比较:查找范围R[0...10],比较元素R[5]:25。第1次比较:查找范围R[0...10],比较元素R[5]:25。第2次比较:查找范围R[0..4],比较元素R[2]:10。第3次比较:查找范围R[3...4],比较元素R[3]:15。,其中是顺序表中元素的个数。原创 2025-01-07 18:04:12 · 1215 阅读 · 0 评论 -
【C++数据结构——内排序】二路归并排序(头歌实践教学平台习题)【合集】
二路归并算法旨在将两个已经有序的序列合并成为一个新的有序序列。打个比方,就如同有两列分别按照从小到大顺序排好队的人,现在要把这两列人合并成一列,并且依旧保持从小到大的顺序,这就是二路归并算法要完成的任务。它也是归并排序算法中的关键基础操作,归并排序整体思路就是不断地把待排序数组划分成多个子数组,先对子数组排序(常常通过递归调用归并排序来实现),之后再将这些排好序的子数组合并起来。(第一行是元素个数,第二行是待排序的原始关键字数据。的起始位置,以及用于存储合并结果的新数组。中剩余的元素),按照顺序依次放入。原创 2025-01-07 18:05:04 · 563 阅读 · 0 评论 -
【C++数据结构——内排序】快速排序(头歌实践教学平台习题)【合集】
快速排序是一种高效的排序算法,基于分治策略。它的主要思想是通过选择一个基准元素(pivot),将数组划分成两部分。一部分的元素都小于等于基准元素,另一部分的元素都大于等于基准元素。然后对这两部分分别进行排序,最终使整个数组有序。(第一行是元素个数,第二行是待排序的原始关键字数据。本关任务:实现快速排序算法。开始你的任务吧,祝你成功!原创 2025-01-07 18:04:21 · 764 阅读 · 0 评论 -
【C++数据结构——内排序】希尔排序(头歌实践教学平台习题)【合集】
排序算法是将一组数据按照特定的顺序(通常是升序或降序)进行重新排列的算法。常见的排序算法有冒泡排序、插入排序、选择排序、快速排序、归并排序等等。排序算法的稳定性也是一个重要概念,稳定排序是指在排序过程中,相等元素的相对顺序保持不变;不稳定排序则可能改变相等元素的相对顺序。其主要目的就是为了更方便地对数据进行查找、比较等操作,提高数据处理的效率。(说明:第一行是元素个数,第二行是待排序的原始关键字数据。排序前:9876543210。排序后:0123456789。原创 2025-01-07 18:05:11 · 461 阅读 · 0 评论 -
【C++数据结构——线性表】求集合的并、交和差运算(头歌实践教学平台习题)【合集】
对于两个集合A和B,集合A与集合B的差集是由所有属于A但不属于B的元素组成的集合,记作A-B。对于两个集合A和B,它们的交集是包含所有既属于A又属于B的元素所组成的集合,记作A∩B。对于两个集合A和B,它们的并集是包含所有属于A或者属于B的元素所组成的集合,记作A∪B。本关任务:编写一个程序求两个集合的并、交、差。集合的并集:abcdefhi。有序集合B:abdehi。有序集合A:acef。原创 2025-01-07 18:05:26 · 643 阅读 · 0 评论 -
【C++数据结构——线性表】单链表的基本运算(头歌实践教学平台习题)【合集】
线性表是一种基本的数据结构,它是由n(n≥0)个具有相同类型的数据元素组成的有限序列。可以将线性表想象成一个队伍,队伍中的每个人(数据元素)都有自己的位置,并且他们的类型是相同的(比如都是学生)。顺序表通常是用数组来实现的。初始化时,需要定义数组的大小,并且可以将线性表的长度(当前存储的元素个数)初始化为0。单链表由节点组成,每个节点包含数据域和指针域。初始化时,头节点(如果有)的指针通常设为NULL,表示链表为空。本关任务:实现单链表的基本运算。开始你的任务吧,祝你成功!原创 2025-01-07 18:05:47 · 628 阅读 · 0 评论 -
【C++数据结构——线性表】顺序表的基本运算(头歌实践教学平台习题)【合集】
线性表是一种基本的数据结构,它是由n(n≥0)个具有相同类型的数据元素组成的有限序列。可以将线性表想象成一个队伍,队伍中的每个人(数据元素)都有自己的位置,并且他们的类型是相同的(比如都是学生)。顺序表通常是用数组来实现的。初始化时,需要定义数组的大小,并且可以将线性表的长度(当前存储的元素个数)初始化为0。单链表由节点组成,每个节点包含数据域和指针域。初始化时,头节点(如果有)的指针通常设为NULL,表示链表为空。本关任务:实现顺序表的基本运算。开始你的任务吧,祝你成功!原创 2025-01-07 18:05:54 · 468 阅读 · 0 评论 -
【C++面向对象——继承与派生】派生类的应用(头歌实践教学平台习题)【合集】
【面向对象——继承与派生】派生类的应用(头歌实践教学平台习题)【合集】目录实验目的学习声明和使用类的继承关系,声明派生类熟悉不同继承方式下对基类成员的访问控制学习利用虚基类解决二义性问题实验任务参考实验指导书第七章的实验任务4:从实验6中的people(人员)类派生出student(学生)类,添加属性:班号charclassNO[7];从people类派生出teacher(教师)类,添加属性:职务charprincipalship[11]、部门cha原创 2025-01-07 18:06:04 · 495 阅读 · 0 评论 -
【C++面向对象——输入输出流】处理二进制文件(头歌实践教学平台习题)【合集】
编写程序,使用intmain(intargc,char*argv[])函数中参数传递操作的文件名,声明ofstream的对象对文件进行操作,使用getline成员函数读入数据,使用cout输出字符到文件。用二进制方式打开指定的一个文件,在每一行前加行号,并且将结果输出到控制台上。(输出流)两个类,主要用于标准输入输出操作。类的对象,用于向标准输出(显示器)输出数据。类的对象,用于从标准输入(键盘)读取数据;(文件输入输出流,可读写文件)。(文件输入流,用于读文件)、:用于文件操作,包含。原创 2025-01-07 18:06:12 · 393 阅读 · 0 评论 -
【C++面向对象——群体类和群体数据的组织】实现含排序功能的数组类(头歌实践教学平台习题)【合集】
【面向对象——群体类和群体数据的组织】目录任务描述相关知识类的基本结构private:int*data;//可以用来存储数组元素的指针,这里假设存储整数数组intsize;//数组的大小public://构造函数声明,用于初始化数组对象//在这里声明要封装的排序和查找成员函数,如需要了解如何定义一个Array类,包括类的声明部分(一般在.h文件中定义类的成员变量和成员函数的声明)和类的实现部分(一般在.cpp文件中实现成员函数的具体代码逻辑)。例如:成员函数的定义与调用。原创 2025-01-07 18:06:34 · 445 阅读 · 0 评论