自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 数据结构--顺序表

其中,如果头插入了4个数据,但头删除调用的次数不止4次,因为可能在destroy中的free函数中报错,原因是,free函数只允许从头到尾地释放开辟的空间,如果指针所指的地址不是开辟空间的最开始就会报错。异地扩容指的是要扩容的空间里有被使用的情况,这种情况下就会把原空间的内容拷贝到一个没有被使用的新空间里,然后返回新空间的地址。一般来讲,越界读一般不会检查出来,但越界写可能会被检查出来。原地扩容是指要扩容的空间中没有被使用,就在原空间之后扩容,返回原空间的地址。因为形参是实参的拷贝,所以用指针传参。

2023-09-11 22:43:56 30

原创 C++类和对象

(不要弄混淆,函数的地址也就是指令地址,存在代码段中,而参数是指令运行产生的数据,存在于栈中)一般情况下,一个类中成员变量是私有,成员函数想给别人用的部分为公有。在c++中,有些情况下NULL在识别上会出现一些问题,例如某些情况下会被识别成整型(也就是0),所以 为保证代码的健壮性,之后都用。通过用sizeof查看类对象的大小我们发现,成员变量在对象中,而成员函数不在。但既然函数是公用的,传参不同的时候,又如何区分不同的对象所对应的不同的值呢?此代码的含义是:b的类型没有直接给出,而是通过推导得出的.

2023-08-28 20:09:56 40 1

原创 C++:引用

调用完函数并不能直接将n的值直接赋给ret,因为在调用完函数后栈帧销毁还给系统,在函数栈帧内的n变量所在的空间同时会形成非法访问,所以需要一个临时变量来作一个桥梁,若变量的内存比较小(4-8个字节)一般寄存器充当临时变量,如果比较大则寄存器无法充当。C语言不允许函数同名,但C++允许同名函数,但函数虽然可以同名但要求形参不同(个数,顺序或类型不同),且两函数在同一命名空间。在此代码中n不在函数栈帧中,而是在静态区中,即出了栈帧此空间还在。这样的话返回的是n的别名,就不需要临时变量作为桥梁了。

2023-08-21 17:05:30 40 1

原创 C++入门

不加这一句,若使用变量或函数时不指定命名空间是会报错的,即编译器不会到std中去找变量,加上之后编译器就不仅会到全局找,还会到std中找。(例子中的std是C++标准库的命名空间)但一般情况下不建议全局展开,相当于自己破环了自己所设的防线。(平时的练习可以考虑展开)缺省参数还可以分为全缺省和半缺省。使用时除了指定命名空间,还可以将命名空间全局展开。部分展开在开发的过程中同样常用。即当Func函数中没有实参时,可以将形参赋值。即在栈已知或未知扩容空间时,使用缺省参数解决。即像这样使用,::左边是其指向的域。

2023-08-11 10:16:05 38 1

原创 复杂度和顺序表

时间复杂度同样可以判断一个算法是否有价值,当上述数列的N=50时,计算机无法承担过多的计算量,所以从实际角度讲,这个算法没有实际意义。按需申请 类似之前的通讯录(增删查改),插入数据对数据的处理,放在顺序表中,是和通讯录的逻辑耦合在一起的。但开辟空间不确定(开多了浪费,开少了不够,类似数组中define的N决定数组的大小)递归的算法是先创建栈帧后销毁,所以递归的空间复杂度与时间复杂度不同,是O(N)。空间复杂度为O(N),因为时间一去不复返,但空间可以重复利用。不同的计算用相同的空间,即上图所示。

2023-08-05 22:32:19 36 1

原创 算法的复杂度的认知

时间效率我们通常称之为时间复杂度的计算。而算法执行基本操作的次数叫做时间复杂度。在计算机科学中,算法的时间复杂度是一个函数(这里的函数不是程序中的函数,而是数学中的函数式,即也是计算执行次数)。若F(N)=N*N+2*N+3,那么用大O的渐进表示法则表示成:O(N^2)如果计算其大概的次数,只需要计算量级即可(大O的渐进表示法表示量级)上图体现出二分查找强大的计算效率,但只是在有序的情况之下。即一系列的计算步骤,将输入数据转化为输出结果。即在内存当中,对数据进行管理。算法效率:时间效率与空间效率。

2023-04-14 21:57:28 44

原创 预处理的学习

头文件的包含:用<>直接从库中寻找头文件,没有找到则显示编译错误;用“”一般先从工程中寻找头文件,如果没有找到,就在库里寻找。(用“”寻找库里的头文件效率比较低)因为宏是直接将变量全部替换,所以其影响会贯穿整个宏;而函数传参只是在传参的一步计算,在函数内没有影响。命名约定:宏的名字全部大写,函数的名字不要全部大写。可以得到b=11,但a也会随之变化。这些是函数做不到的。

2023-04-13 13:29:01 39

原创 程序的环境和预处理

编译链接以及预处理

2023-04-05 13:37:09 25

原创 文件操作与相关知识

文件相关的操作函数与数据知识

2023-03-23 18:25:30 39

原创 动态内存下

动态内存部分知识

2023-03-18 11:20:03 41

原创 自定义类型 下与动态内存管理

动态内存

2023-03-12 17:52:53 45

原创 自定义类型:结构体 枚举 联合

结构体和位段

2023-03-09 21:15:39 33

原创 字符函数以及字符串函数(2)

字符串函数

2023-03-04 20:08:04 32

原创 字符串和内存函数

一些函数的详细学习

2023-03-04 14:23:45 32

原创 指针的进一步学习

对指针以及在一些操作符库函数中的进一步理解。

2023-02-01 21:50:50 38 1

原创 题目心得.

刷题心得。

2023-01-29 15:08:34 51 1

原创 学习记录.

指针的一些复杂使用方法

2023-01-17 21:13:44 52 1

原创 大一50天后心得

学前目标

2022-10-17 18:48:03 168

空空如也

空空如也

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

TA关注的人

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