- C++算法学过C语言的对这句话应该不陌生:程序=算法+数据结构,C++作为一门既可以面向过程也可以面向对象的语言,这样理解也是没有问题的。C++当作为面向过程时,应该包括两部分:一是对数据的描述,即在程序中指定数据的类型和组织形式,也就是所谓的数据结构;二是对操作的描述,也就是算法。算法是处理问题的一系列步骤,比如你要实现某一功能,需要具体明确在执行时每一步应该怎么做,总之无论... C++算法学过C语言的对这句话应该不陌生:程序=算法+数据结构,C++作为一门既可以面向过程也可以面向对象的语言,这样理解也是没有问题的。C++当作为面向过程时,应该包括两部分:一是对数据的描述,即在程序中指定数据的类型和组织形式,也就是所谓的数据结构;二是对操作的描述,也就是算法。算法是处理问题的一系列步骤,比如你要实现某一功能,需要具体明确在执行时每一步应该怎么做,总之无论...
- 什么是KMP算法 它是一个字符串匹配算法。 KMP算法的优势 (就恨当初写kmp那篇的时候,没有留下图解,全篇文字铺开,现在我自己都看不懂了) 首先,给定 “主串” 和 “模式串” 如下: BF算法使用简单粗暴的方式,对主串和模式串进行逐个字符的比较: 第二轮,模式串向后挪动一位,和主串的第二个等长子串比较,发现第0位字符不一致: 第... 什么是KMP算法 它是一个字符串匹配算法。 KMP算法的优势 (就恨当初写kmp那篇的时候,没有留下图解,全篇文字铺开,现在我自己都看不懂了) 首先,给定 “主串” 和 “模式串” 如下: BF算法使用简单粗暴的方式,对主串和模式串进行逐个字符的比较: 第二轮,模式串向后挪动一位,和主串的第二个等长子串比较,发现第0位字符不一致: 第...
- 文章目录 什么是 确定的、有穷状态、机跟我一起看个栗子DFA图解DFA示例实现代码 DFA:确定的 有穷 状态机 如果 设计模式 中的状态模式比较熟的话,这个就很清楚了。 DFA常用于敏感词过滤。 什么是 确定的、有穷状态、机 啊,看这个名字,就通俗易懂了嘛。首先它是个机,干嘛用的机我说一下:模式串筛选用的机。 常用于从复杂的字符串... 文章目录 什么是 确定的、有穷状态、机跟我一起看个栗子DFA图解DFA示例实现代码 DFA:确定的 有穷 状态机 如果 设计模式 中的状态模式比较熟的话,这个就很清楚了。 DFA常用于敏感词过滤。 什么是 确定的、有穷状态、机 啊,看这个名字,就通俗易懂了嘛。首先它是个机,干嘛用的机我说一下:模式串筛选用的机。 常用于从复杂的字符串...
- C++类和对象C++中对象的类型称为类,类代表了某一批对象的共性和特征,类是对象的抽象,而对象是类的具体实例, 类是抽象的,不占用内存,而对象是具体的,占用 存储空间,这点很重要,读者需要牢记。C++声明类类型类是用户自己指定的类型,如果程序中要用到类类型,必须自己根据需要进行声明,或者使用别人已设计好的类,C++标准本身并不提供现成的类的名称、结构和内容,C++声明一个类类型... C++类和对象C++中对象的类型称为类,类代表了某一批对象的共性和特征,类是对象的抽象,而对象是类的具体实例, 类是抽象的,不占用内存,而对象是具体的,占用 存储空间,这点很重要,读者需要牢记。C++声明类类型类是用户自己指定的类型,如果程序中要用到类类型,必须自己根据需要进行声明,或者使用别人已设计好的类,C++标准本身并不提供现成的类的名称、结构和内容,C++声明一个类类型...
- 文章目录 2sum问题3sum问题Nsum问题 2sum问题 给定一个数组,以及一个数,从数组里随即找两个数加起来等于给定的那个数。 找出每组符合条件的数(不可重复)。 这表述没有问题吧。 那,这样的题目该怎么实现呢? 如果看过上一篇,的上一篇的小伙伴应该很快就能想到用双指针吧(其实那篇我就想写这个了,但是想了想,还是憋住了) 这里有两个... 文章目录 2sum问题3sum问题Nsum问题 2sum问题 给定一个数组,以及一个数,从数组里随即找两个数加起来等于给定的那个数。 找出每组符合条件的数(不可重复)。 这表述没有问题吧。 那,这样的题目该怎么实现呢? 如果看过上一篇,的上一篇的小伙伴应该很快就能想到用双指针吧(其实那篇我就想写这个了,但是想了想,还是憋住了) 这里有两个...
- 先看以下简单地代码: #include<iostream> using namespace std; class A { public: A(){}//构造函数 A(A p_a)//错误的拷贝构造函数 { m1 = p_a.m1; } A(A&p_a)//正确的拷贝构造函数 { m1 = p_a.m1; } privat... 先看以下简单地代码: #include<iostream> using namespace std; class A { public: A(){}//构造函数 A(A p_a)//错误的拷贝构造函数 { m1 = p_a.m1; } A(A&p_a)//正确的拷贝构造函数 { m1 = p_a.m1; } privat...
- C++无参函数的定义函上一节小林已经讲过,从函数形式来看,函数分为无参函数和有参函数,那么他们有什么不同呢?定义无参函数的一般形式为类型标识符 函数名([void])//注意void可以省略不写 { 声明部分 语句 } C++有参函数的定义有参函数,顾名思义,有参数的函数,和无参函数相比,有参函数多了参数,定义如下所示类型标识符 函数名(形式参数表列) { 声明部分... C++无参函数的定义函上一节小林已经讲过,从函数形式来看,函数分为无参函数和有参函数,那么他们有什么不同呢?定义无参函数的一般形式为类型标识符 函数名([void])//注意void可以省略不写 { 声明部分 语句 } C++有参函数的定义有参函数,顾名思义,有参数的函数,和无参函数相比,有参函数多了参数,定义如下所示类型标识符 函数名(形式参数表列) { 声明部分...
- C++字符数组和C语言一样,在C++中用来存放字符数据的数组是字符数组,字符数组中的一个元素存放一个字符,字符数组具有数组的共同属性。C++字符数组的定义定义字符数组的方法与上两节将的一维数组和二维数组类似,都是变量类型 变量名[常量表达式] //如 char character[5]; 上述小林定义了character为字符数组,这个数组里面可以存放5个元素。C++字符数组... C++字符数组和C语言一样,在C++中用来存放字符数据的数组是字符数组,字符数组中的一个元素存放一个字符,字符数组具有数组的共同属性。C++字符数组的定义定义字符数组的方法与上两节将的一维数组和二维数组类似,都是变量类型 变量名[常量表达式] //如 char character[5]; 上述小林定义了character为字符数组,这个数组里面可以存放5个元素。C++字符数组...
- C++对象的初始化C++在建立一个对象时,常常需要作某些初始化,如果一个数据成员未被赋值,则它的值是不可预知的,因为在系统为它分配内存时,保留了这些存储单元的原状,这就成为了这些数据成员的初始值,在C++中,对象是一个实体,它反映了客观事物的属性,是应该有确定的值的。C++类的数据成员是不能在声明类时初始化的,如果一个类中所有的成员都是公用的,则可以在定义对象时对数据成员进行初... C++对象的初始化C++在建立一个对象时,常常需要作某些初始化,如果一个数据成员未被赋值,则它的值是不可预知的,因为在系统为它分配内存时,保留了这些存储单元的原状,这就成为了这些数据成员的初始值,在C++中,对象是一个实体,它反映了客观事物的属性,是应该有确定的值的。C++类的数据成员是不能在声明类时初始化的,如果一个类中所有的成员都是公用的,则可以在定义对象时对数据成员进行初...
- C++用数组元素作函数实参 C++中实参可以是表达式,而数组元素可以是表达式的组成部分,因此数组元素可以作为函数的实参,与用变量作实参一样,将数组元素的值传送给形参变量。C++也可以用数组名作函数参数,此时实参与形参都用数组名。形参可以是数组名,也可以是指针变量,它们用来 接收实参传来的地址。如果形参是数组名,它代表 的是形参数组首元素的地址。在调用函数时,将实 参数组首元素的... C++用数组元素作函数实参 C++中实参可以是表达式,而数组元素可以是表达式的组成部分,因此数组元素可以作为函数的实参,与用变量作实参一样,将数组元素的值传送给形参变量。C++也可以用数组名作函数参数,此时实参与形参都用数组名。形参可以是数组名,也可以是指针变量,它们用来 接收实参传来的地址。如果形参是数组名,它代表 的是形参数组首元素的地址。在调用函数时,将实 参数组首元素的...
- C++逗号运算符和表达式C++提供了一种特殊的运算符,逗号运算符,可以将两个表达式连接起来。逗号运算符又称为顺序求值运算符,一般形式为表达式1,表达式2逗号表达式求解过程是:先求解表达式1的值,再求解表达式2的值,但是整个表达式的值是表达式2的值。案例:使用逗号表达式输出变量的值。#include<iostream> using namespace std; int main(... C++逗号运算符和表达式C++提供了一种特殊的运算符,逗号运算符,可以将两个表达式连接起来。逗号运算符又称为顺序求值运算符,一般形式为表达式1,表达式2逗号表达式求解过程是:先求解表达式1的值,再求解表达式2的值,但是整个表达式的值是表达式2的值。案例:使用逗号表达式输出变量的值。#include<iostream> using namespace std; int main(...
- 文章目录 2sum问题3sum问题Nsum问题 2sum问题 给定一个数组,以及一个数,从数组里随即找两个数加起来等于给定的那个数。 找出每组符合条件的数(不可重复)。 这表述没有问题吧。 那,这样的题目该怎么实现呢? 如果看过上一篇,的上一篇的小伙伴应该很快就能想到用双指针吧(其实那篇我就想写这个了,但是想了想,还是憋住了) 这里有两个... 文章目录 2sum问题3sum问题Nsum问题 2sum问题 给定一个数组,以及一个数,从数组里随即找两个数加起来等于给定的那个数。 找出每组符合条件的数(不可重复)。 这表述没有问题吧。 那,这样的题目该怎么实现呢? 如果看过上一篇,的上一篇的小伙伴应该很快就能想到用双指针吧(其实那篇我就想写这个了,但是想了想,还是憋住了) 这里有两个...
- 文章目录 双指针解法快排链表成环判断链表是否有环寻找链表入环点 合并K个有序链表(困难)思路:代码实现: 寻找链表中的倒数第K个元素 双指针解法 这是我很喜欢的一个解法,从我第一眼看到它就很喜欢了。 什么时候会用到双指针呢?但凡可以出现两条或者更多序列的时候,就可以用这种方法了。 注意,我说的是:可以出现。有条件要上,没有条件创造条件也要上。... 文章目录 双指针解法快排链表成环判断链表是否有环寻找链表入环点 合并K个有序链表(困难)思路:代码实现: 寻找链表中的倒数第K个元素 双指针解法 这是我很喜欢的一个解法,从我第一眼看到它就很喜欢了。 什么时候会用到双指针呢?但凡可以出现两条或者更多序列的时候,就可以用这种方法了。 注意,我说的是:可以出现。有条件要上,没有条件创造条件也要上。...
- C++指针变量作函数参数接收数组地址在C++中,用指针变量指向数组元素时要注意: 指针变量p可以指向有效的数组元素,实际上也可以指向数组 以后的内存单元。int arrya[10];//指针变量p的初值为&array[0] *p=array; cout<<*(p+10;//输出arry[10]的值 在使用指针变量指向数组元素时,应切实保证指向 数组中有效的元素指向数组元素的指针... C++指针变量作函数参数接收数组地址在C++中,用指针变量指向数组元素时要注意: 指针变量p可以指向有效的数组元素,实际上也可以指向数组 以后的内存单元。int arrya[10];//指针变量p的初值为&array[0] *p=array; cout<<*(p+10;//输出arry[10]的值 在使用指针变量指向数组元素时,应切实保证指向 数组中有效的元素指向数组元素的指针...
- C++函数函数很重要,在开发常见的做法是把一个大的程序划为为若干个程序模块,每个模块实现一部分功能,这样做不仅可以多人来完成,也可以在单个模块中找bug。和C语言一样,C++也是只能有一个main函数,而且程序也总是从main函数开始执行的,在执行过程中,由主函数调用其他函数,其他函数可以互相调用。在C++中,主函数以外的函数大多是被封装在类中的,主函数相当于总指挥,负责调动各... C++函数函数很重要,在开发常见的做法是把一个大的程序划为为若干个程序模块,每个模块实现一部分功能,这样做不仅可以多人来完成,也可以在单个模块中找bug。和C语言一样,C++也是只能有一个main函数,而且程序也总是从main函数开始执行的,在执行过程中,由主函数调用其他函数,其他函数可以互相调用。在C++中,主函数以外的函数大多是被封装在类中的,主函数相当于总指挥,负责调动各...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签