- 博客(24)
- 收藏
- 关注
原创 C++——STL(vector类)
vector的文档介绍vector是表示可变大小数组的序列容器。vector就像数组一样,拥有连续的储存空间来储存元素,这就意味着可以通过下标的方式来访问vector的元素,很高效;但与数组不同的是vector的大小是动态改变的。本质讲,vector使用动态分配数组来存储它的元素。当新元素插入时候,这个数组需要被重新分配大小为了增加存储空间。其做法是,分配一个新的数组,然后将全部元素移到这个数组。
2024-09-07 12:22:20
888
1
原创 C++——string类
1.2.1.string类常见构造其中string()的功能是构造空的string类对象,即空字符串;的功能是用C-string来构造string类对象;的功能是string类对象中包含n个字符c;是拷贝构造函数。
2024-08-30 15:38:58
1212
1
原创 C++——类和对象(默认成员函数和运算符重载)
析构函数与构造函数功能相反,析构函数不是完成对对象本身的销毁,局部对象销毁工作是由编译器完成的。:构造函数是特殊的成员函数,需要注意的是,构造函数虽然名称叫构造,但是构造函数的主要任务并不是开空间创建对象,而是。注意:无参构造函数、全缺省构造函数、我们没写编译器默认生成的构造函数,都可以认为是默认构造函数。(一般常用const修饰),在用已存在的类类型对象创建新对象时由编译器自动调用。返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通的函数类似。,运算符重载是具有特殊函数名的函数,也具有其。
2024-08-20 21:25:27
826
原创 C++——类和对象
/类体:由成员函数和成员变量组成//注意分号class为定义类的关键字ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。
2024-08-19 20:37:33
416
原创 C++基础——合集
/namespace关键字 world是命名空间的名字//1.定义变量int a = 10;//函数定义//类型int val;//2.命名空间可以嵌套int a = 9;int a = 8;//3. 同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。// ps:一个工程中的test.h和上面test.cpp中两个woeld会被合并成一个//test.h命名空间定义后就定义了一个新的作用域。
2024-08-18 20:16:26
1073
原创 数据结构——带环链表、循环队列问题
循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。以上便是本期讨论的两个数据结构问题,欢迎大家评论讨论交流。快指针一次走两步慢指针一次走一步。代码实现:(链表的实现请跳转☞。
2024-07-02 13:40:23
673
5
原创 数据结构——栈(Stack)和队列(Queue)详解
队列也可以数组和链表的结构实现,使用链表的结构实现更优一些,因为如果使用数组的结构,出队列在数组头上出数据,效率会比较低。FIFO(First In First Out) 入队列:进行插入操作的一端称为队尾出队列:进行删除操作的一端称为队头。实现,相对而言数组的结构实现更优一些。只允许在一端进行插入数据操作,在另一端进行删除数据操作。:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。:栈的删除操作叫做出栈,出数据也在栈顶。
2024-07-01 13:10:41
591
6
原创 顺序表、链表
静态顺序表的定长数组导致N定大了,空间开多了浪费,开少了不够用。所以现实中基本都是使用动态顺序表,根据需要动态的分配空间大小,所以下面我们实现动态顺序表。实际中使用的链表数据结构,都是带头双向循环链表。)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串...实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等。的存储单元依次存储数据元素的线性结构,一般情况下采用。,数据元素的逻辑顺序是通过链表中的指针。
2024-06-28 12:08:20
494
3
原创 C语言——编译链接
我们在test.c 文件中每一次使用 Add 函数和 Y 的时候必须确切的知道Add 和g Y 的地址,但是由于每个文件是单独编译的,在编译器编译test.c 的时候并不知道Add 函数和 Y变量的地址,所以暂时把调用 Add 的指令的目标地址和 Y 的地址搁置。等待最后链接的时候由链接器根据引用的符号Add 在其他模块中查找Add 函数的地址,然后将test.c 中所有引用到Add 的指令重新修正,让他们的目标地址为真正的Add 函数的地址,对于全局变量 Y 也是类似的方法来修正地址。
2024-05-17 10:31:48
834
1
原创 C语言结构体详解
结构体是⼀些值的集合,这些值称为成员变量。结构体的每个成员可以是不同类型的变量。值得注意的是结构体类型是一种变量类型!类比int、char等都是变量类型的一种。位段的声明和结构是类似的,有两个不同:位段的成员必须是int或signed int,在C99中位段成员的类型也可以选择其他类型。位段的成员名后边有⼀个冒号和⼀个数字。int _b : 3;
2024-05-06 11:49:01
1777
3
原创 整数与浮点数在内存中的存储
1.整数在内存中的存储整数的2进制表⽰⽅法有三种,即原码反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位最高位的一位是被当做符号位,剩余的都是数值位。:直接将数值按照正负数的形式翻译成二进制得到的就是原码。:将原码的符号位不变,其他位依次按位取反就可以得到反码。:反码+1就得到补码。对于整型来说:数据存放内存中其实存放的是。
2024-05-03 17:45:47
1599
原创 C语言——字符函数、字符串函数及内存函数
如果source 指向的字符串的⻓度⼩于num的时候,只会将字符串中到\0 的内容追加到destination指向的字符串末尾。C语⾔中有⼀系列的函数是专⻔做字符分类的,也就是⼀个字符是属于什么类型的字符的。将source指向字符串的前num个字符追加到destination指向的字符串末尾,再追加⼀个。如果源字符串的⻓度⼩于num,则拷⻉完源字符串之后,在⽬标的后边追加0,直到num个。第⼀个字符串⼤于第⼆个字符串,则返回⼤于0的数字。第⼀个字符串⼩于第⼆个字符串,则返回⼩于0的数字。
2024-04-25 12:49:07
646
6
原创 C语言分支循环语句——if语句
C语言是结构化的程序设计语言,包括以及。其中顺序结构就是按照代码先后顺序执行,分支结构可以通过和来实现,循环结构则可以通过以及实现。
2024-03-24 14:49:25
477
1
原创 “%d”、“%4d”、“%-4d”的使用
总结:“%4d”打印结果是右对齐的效果,在左侧以空格补齐;“%-4d”打印的结果是左对齐,在右侧以空格补齐;若被打印整数超过4位数,则正常打印不会被截断。“%d”是printf ()函数的占位符之一,打印的是十进制整数。其中'\n'表示换行;我用'*'表示打印出结果的后一位方便观察。但是,如果被打印的整数是个5位整数是什么效果呢?明显看出“%4d”打印出来的结果是右对齐,不足则补空格。打印的结果和“%d”相同,并不会发生截断现象。结果是左对齐的效果,不足则在右侧用空格补齐。
2024-03-24 10:20:39
1814
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人