- 博客(30)
- 收藏
- 关注
原创 洛谷-求细胞数量-(P1451)
一矩形阵列由数字 00 到 99 组成,数字 11 到 99 代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。同时设置一个用来记录是否访问过这个节点的二维数组,避免后续重复访问,还能达到降低时间复杂度的效果。一个比较简单的深度优先搜索题目,读入数据之后在二维数组中的每一个地方都搜索一下。接下来 n 行,每行一个长度为 m 的只含字符。对于 100%的数据,保证 1≤n,m≤100。,代表这个 n×m 的矩阵。同时这个题目的数据也比较水。
2024-06-09 15:38:05
448
原创 动态规划问题
当解决一个问题时,如果问题可以被拆解成更小的子问题,而且这些子问题之间存在重叠的子问题,那么就可以考虑使用动态规划。动态规划是一种自底向上的问题求解方法,其基本思想是将问题拆解成更小的子问题,并保存子问题的解,避免重复计算。但是,我们之后一定会遇到,程序执行超时的问题,纯粹的递归可能会导致大量的重复计算,从而导致效率较低。在爬楼梯的问题中,我们需要到达第n阶楼梯,每一步可以选择爬1个台阶或2个台阶。,因为爬到第1阶只有一种方法,爬到第2阶有两种方法。1. 1 阶 + 1 阶 + 1 阶。
2024-01-04 10:54:12
1266
1
原创 单链表操作集(不带有空头结点)本题要求实现不带有空头结点(dummy head node)的单链表操作集(PTA)
本题要求实现不带有空头结点(dummy head node)的单链表操作集(PTA)
2024-01-02 12:13:02
968
原创 Delete the minimum value from a min heap(从最小堆里删除最小值)PTA
【代码】Delete the minimum value from a min heap(从最小堆里删除最小值)PTA。
2024-01-01 23:21:34
412
原创 Insert an element into a min heap (No sentinel)———插入无哨兵的最小堆(PTA)
Insert an element into a min heap (No sentinel)———插入无哨兵的最小堆(PTA)
2024-01-01 17:12:45
652
原创 C语言预处理
ifdef(意为 "if defined")检查某个标识符是否已被定义,而#ifndef(意为 "if not defined")检查某个标识符是否未被定义。预处理器通过一系列的预处理指令来操作源代码,插入、替换或删除特定的文本,以及对编译的行为进行控制。通过预处理器的功能,我们可以在源代码中进行宏替换、条件编译等操作,以提高代码的可维护性和可重用性。有两种形式:用尖括号 < > 包括的是系统头文件,而用双引号 " " 包括的是用户自定义的头文件。宏是一种代码片段的替代,会在编译前进行简单的文本替换。
2023-06-30 22:22:22
133
原创 C语言联合体和枚举
1. 联合体(union):联合体是一种特殊的数据类型,它允许在同一块内存空间中存储不同类型的数据。2. 枚举(enum):枚举是一种用户定义的数据类型,用于定义一个取值有限的集合。通过枚举,我们可以为每个取值定义一个有意义的符号名称,这使得代码更加清晰和易读。通过联合体,可以节省内存空间,并实现对不同类型数据的灵活访问。通过使用联合体和枚举,可以在C程序中更灵活地处理不同类型的数据和限定取值范围,提高代码的可读性和可维护性。联合体(union)和枚举(enum)是C语言中的两个重要的数据类型。
2023-06-30 22:19:43
104
原创 vector的创建以及其与数组的区别
5.容器的size是指它已经保存的元素的数目;而capacity则是在不分配新的内存空间的前提下它最多可以保存多少元素。1.数组是静态的,长度不可改变,而vector可以动态扩展,增加长度。2.数组内数据通常存储在栈上,而vector中数据存储在堆上。//返回容器的大小,即容器中元素的个数。7,随机访问是指类似于数组这样的有下标的数据类型。6,不是所有的容器都有对中括号的重载所以要使用。8,顺序访问——单链表。
2023-05-12 22:33:34
229
原创 c++中的一些知识
C++ 拷贝构造函数 拷贝构造函数,是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象。C++ 中指向类的指针 指向类的指针方式如同指向结构的指针。类成员函数 类的成员函数是指那些把定义和原型写在类定义内部的函数,就像类定义中的其他变量一样。C++ 内联函数 通过内联函数,编译器试图在调用函数的地方扩展函数体中的代码。C++ 类的静态成员 类的数据成员和函数成员都可以被声明为静态的。
2023-05-12 22:28:20
52
原创 c++期末速成笔记(部分)
std::和using namespace std有一样的效果。一些函数的实现非常简单,所以我们可以把它放进头文件里。4,逗号运算符:表达式的结果为最后一个逗号后的结果。malloc( )和free()是C语言函数。new 和delete是C++运算符,关键字。3,关系运算符和逻辑运算符的结果总为1或0。int &rv=r;2e-6代表2*10的-6次方。5/2=2两边都是int。注意数组的初始化时应赋值。7,指针的动态内存分配。引用就是给变量起外号。
2023-03-29 14:14:55
250
原创 一些C++和链表的杂记
/无参 调用默认构造函数的时候不要加“ ( ) ”因为这会导致编译器认为是一个函数的声明,不会认为这是一个对象。相当于person p4 =person( 10 );具体操作步骤:可以在类内设置一个公共函数,来对private属性进行读写的操作。3,private:类内可以,类外不可以 主要的不同体现在继承。2,protected:类内可以,类外不可以。4,在一个类中,可以让另一个类作为本类的成员。
2023-03-29 14:11:38
49
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人