自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 问答 (1)
  • 收藏
  • 关注

原创 string题目

题目描述:计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。示例:输入:“hello CSDN”输出:4思路:先找到字符串中最后一个空格的位置,空格之代码后的字符个数就是最后一个单词的长度。若字符串中不存在空格,则字符串的长度就是最后一个单词的长度。重点:该题的思路非常容易想到,但该题真正的难点不是如何求得字符串中最后一个单词的长度,而是如何读取一个含有空格的字符串。

2024-07-14 10:23:44 630

原创 C/C++内存管理详解

如果申请的是内置类型的空间,new/delete和malloc/free基本类似,不同的是,new/delete申请释放的是单个元素的空间,new[ ]/delete [ ]申请释放的是连续的空间,此外,malloc申请失败会返回NULL,而new申请失败会抛异常。需扩展的空间后方没有足够的空间可供扩展,此时,realloc函数会在堆区中重新找一块满足要求的内存空间,把原空间内的数据拷贝到新空间中,并主动将原空间内存释放(即还给操作系统),返回新内存空间的首地址。结果就是开辟内存失败,返回一个NULL。

2024-07-13 00:01:52 624

原创 类和对象的应用

class Testprivate:// 静态成员变量的定义初始化这里静态成员变量_n虽然是私有,但是我们在类外突破类域直接对其进行了访问。这是一个特例,不受访问限定符的限制,否则就没办法对静态成员变量进行定义和初始化了。

2024-07-09 13:31:05 577

原创 写一个日期的类

1、像Date这样的类,需要的就是浅拷贝,那么编译器自动生成的拷贝构造函数就够用了,我们不需要自己写。2、像Stack这样的类,浅拷贝会导致析构两次、程序崩溃等问题,需要我们自己写对应的拷贝构造函数。

2024-07-07 12:53:58 674

原创 C++类和对象(二)—— 类的6个默认成员函数及日期类的实现

class Datepublic:cout << _year << "年" << _month << "月" << _day << "日" << endl;private:int _year;int _month;int _day;int main()Date d1;// 编译器将调用自动生成的默认构造函数对d1进行初始化d1.Print();return 0;

2024-06-23 17:52:23 678

原创 C++类和对象(一)

/类体:由成员变量和成员函数组成//注意后面的分号其中class类为关键字,class Name为类的名字;类里面的变量叫成员变量,类里面的函数叫成员函数声明和定义全部放在类体中。需要注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理题外话(什么是内联函数呢)内联函数是在 C++ 中增加的一个功能,可以提高程序执行效率。如果函数是内联的,编译器在编译时,会把内联函数的实现替换到每个调用内联函数的地方,可以与宏函数作类比,但宏函数不会进行类型检查。

2024-06-23 16:42:15 819

原创 c语言进阶,指针进阶

int (*ptr1[10])()//ptr1现是数组,数组存放的是int(*)()的函数指针。//[]的优先级比*高,所以先用()然后p2和*结合,在指向大小为10的整形数组。//所以这里传递的arr,其实相当于第一行的地址,是一维数组的地址。//虽然他们两个地址一样但是如果arr+1和&arr+1差别就特别大了。//pfun1和*结合然后指向一个()无参的函数,返回值是void。//但是二维数组的首元素是二维数组的第一行。int** arr[10]//二级指针数组。//数组名arr,表示首元素的地址。

2024-04-24 09:40:25 386

原创 c语言进阶

但是在C语言中除了8 bit的char之外,还有16 bit的short 型,32 bit的long型(要看具体的编译器),另外,对于位数大于8位的处理器,例如16位或者32 位的处理器,由于寄存器宽度大于一个字节,那么必然存在着一个如何将多个字节安排的问题。但是,我们 知道,科学计数法中的E是可以出 现负数的,所以IEEE 754规定,存入内存时E的真实值必须再加上一个中间数,对于8位的E,这个中间数 是127;对于64位的浮点数,最高的1位是符号位S,接着的11位是指数E,剩下的52位为有效数字M。

2024-03-22 21:18:52 1034 1

原创 二叉树知识点

把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:1.每个节点有孩子结点(左孩子,右孩子)2.没有父节点的节点称为根节点;3.每一个非跟节点有且仅有一个父节点;树的基本术语若一个节点有子树,那么该节点称为子树根节点的“双亲“,子树的跟是该节点的“孩子”。有相同双亲的节点互为“兄弟节点”。一个节点的所有子树上的任何节点都是该节点的孩子。从根节点到某个节点的路径上的所有节点都是该节点的父亲。结点是数据结构中的基础,是构成复杂数据结构的基本组成单位。

2024-03-12 16:10:11 336 1

原创 linux第一课

07.cp指令(重要): 语法:cp [选项] 源文件或目录 目标文件或目录 功能: 复制文件或目录 说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录, 则它会把前面指定的所有文件或目录复制到此目录中。语法:touch [选项]... 文件... 功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。ls [选项][目录或文件] 对于目录,该命令列出该目录下的所有子目录与文件。

2024-03-03 10:05:03 1349

原创 c语言初阶第7课

结构体是一些值的集合,这些称为成员变量,结构的每个成员可以是不同变量。//定义结构体变量p2。结构体传参建议取地址,把整个结构体传参会导致性能下降。结构的成员可以是标量,数组,指针,甚至是其他结构体。print1(s);}p1//声明类型的同时定义变量p1。print2(&s);1.4结构体变量的定义和初始化。1.5结构体成员访问。

2024-03-01 17:38:21 333

原创 c语言初阶第六课

解引用就是引用它指向的变量,指针的解引用会改变原来指向变量,可以用解引用运算符(*)放在指针变量前面来实现。指针的大小是根据电脑的总线计算的,在32位平台是4个字节,在64位是8个字节。//这里把a的四个字节第一个地址存放到p上。根据指针类型来存放对应的类型,int*存放整形,char*存放字符型。整形指针是四个字节,字符指针是一个字节。指针的类型决定了指针前进后退的距离。数组名和数组首元素的地址是一样的。改变一级指针的地址就叫二级指针。存放指针的数组就叫指针数组。指针的类型有什么意义呢?

2024-03-01 11:01:36 351

原创 c语言初阶第五节课操作符

变量c2的二进制位(补码)中只有8个比特位: 00000001 因为 char 为有符号的 char 所以整形提升的时候,高位补充符号位,即为0 提升之后的结果是: 00000000000000000000000000000001。12.2 算术转换 如果某个操作符的各个操作数属于不同的类型,那么除非其中一个操作数的转换为另一个操作数的类 型,否则操作就无法进行。下面的层次体系称为寻常算术转换。2. ( ) 函数调用操作符 接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。

2023-12-11 15:20:21 1241 1

原创 c初阶数组第四节课

在使用数组前,都需要定义一个数组才能进行对数组里面存放数据定义数组必须要遵守规则1.数据类型 数组存储的数据(不同类型数据放在内存空间是不同的.如:字符、整型、浮点型等一些数据类型。2.名称:确认数组3.长度,确定数组能存放数据的大小(2).声明数组的用法1.初始化时分配值//表示数据一开始就定义好了。

2023-12-10 13:19:13 356 1

原创 数据结构第二课(顺序表)

/后续要存储其它类型时方便更改。//指向动态开辟的数组。依次存储数据元素的线性结构,一般用数组来存储。1.定义一个typedef类型的数据结构。一般采用动态数据表来存储数据。

2023-12-10 12:11:26 347 1

原创 数据结构第一课,空间和时间复杂度的计算

首先你必须明确一个概念,O(1) 只是常量级时间复杂度的一种表示方法,并不是指只执行了一行代码。比如这段代码,即便有 3 行,它的时间复杂度也是 O(1),而不是 O(3)int i = 8;int j = 6;int i = 1;for (;i <= n;其中第 2、3 行代码都是常量级的执行时间,与 n 的大小无关,所以对于复杂度并没有影响。循环执行次数最多的是第 4、5 行代码,所以这块代码要重点分析。

2023-11-22 18:42:54 23

原创 c语言初阶第三课函数

形式参数是指函数名后括号中的变量,因为形式参数只有在函数被调用的过程中才实例化(分配内 存单 元),所以叫形式参数。传址调用是把函数外部创建变量的内存地址传递给函数参数的一种调用函数的方式。这种传参方式可以让函数和函数外边的变量建立起真正的联系,也就是函数内部可以直接操 作函数外部的变量。无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形 参。函数的形参和实参分别占有不同内存块,对形参的修改不会影响实参。1.库函数:系统自带的函数,调用的时候需要头文件。

2023-11-22 18:35:19 18

原创 初识c语言2 循环与分支

if 语句的嵌套,简单来说就是if语句里再嵌套if语句,并没有严格意义上的语法定义,遵守上面两种形式就ok。语义:如果表达式的结果为真,则执行语句块1,否则执行语句块2。语句1或者语句块2,至少会有一个被执行。给定一定的次数,开始进行循环,有自增到次数值和自减到次数值,while要为真才进行循环。语义:如果表达式的结果为真,则执行语句块,否则不执行语句块。语法定义: if(表达式){(2)a. if 语句的第一种形式(if是分支结构)语法定义: if(表达式1){

2023-11-08 17:42:41 18 1

原创 初识C语言(C语言介绍)

printf是打印函数(print format),是C语言的库函数。而C语言的库函数太多了,总不可能每次编代码都带着所有的库函数,那电脑也太辛苦了。所以,安装好编译器只是将库函数安装好,等需要哪个就调用哪个就行了。1:main函数是主函数,有且仅有一个,是程序的入口。因为main函数也是调用的,调用main函数的返回值是int整型,所以我们最后要返回一个整型0。在c语言中呢,函数是使用最多的,下面是经典的Add函数。进制分为二进制,八进制,十进制,16进制。结构化分为顺序结构,选择结构,循环结构。

2023-11-02 17:02:26 20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除