自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深剖STL——哈希表(内含unordered_map和unordered_set模拟实现)

哈希(Hash)是指将任意长度的输入通过哈希函数(Hash Function)转换为固定长度的输出的过程。哈希函数可以将输入数据映射为较短的固定长度的值,通常用一串数字和字母来表示,这串值就被称为哈希值或者哈希码。输入相同的数据经过哈希函数得到的哈希值是唯一确定的。即使输入数据只有微小的改动,得到的哈希值也会发生很大的变化。无法从哈希值中逆向推导出原始的输入数据。

2024-03-26 16:47:49 1643

原创 Linux篇——文件操作与文件fd

File是C语言封装的一个结构体,里面包含了文件的一些属性,其中就有我们之前提到的fd,还有哪些属性,这里不做描述。

2024-03-23 12:50:31 1816 2

原创 Linux篇——初识进程

C语言写的库函数,对系统调用接口进行包装,降低了操作系统的使用成本,不需要用户关心在哪个操作系统下,只需要根据需求使用对应的接口(库函数),就可以对操作系统进行操作,这就是为什么C语言具有跨平台性,可移植性。,引入了内存插入到输入设备和运算器的中间,输入设备输入的数据,都要先预加载到内存当中,再由内存加载到运算器当中,运算器对数据进行处理完后,再存储到内存中,由内存加载到输出设备上。内存的引入,使得计算机的效率问题取决于内存效率为主,变成了软件问题,取决于操作系统写的好不好,能不能高效的利用内存。

2024-03-22 00:26:57 606 1

原创 从零自学Pandas----元组、列表、集合和字典

字典中的元素是以键值对的形式存储的,其中键是唯一的且不可变的,值可以是任意类型的数据。元组中的元素可以是不同类型的数据,且元组内的元素不能被修改、添加或删除。元组通常用于存储具有固定顺序且不可更改的数据集合,例如坐标、日期时间等。列表中的元素可以是不同类型的数据,且列表内的元素可以被修改、添加或删除。集合通常用于去除重复元素、集合运算(如并集、交集、差集)等操作。集合是一种无序、不重复的元素集合,用大括号 {} 表示。集合中的元素没有顺序,且集合内的元素不能重复。

2024-03-21 00:43:28 172 1

原创 算术表达式的前缀、中缀、后缀表达式

比如 + * 2 + 4 5 6,我们找到最后一个操作符+,令最近的两个操作数当它的操作数,也就是4+5,表达式求出值是9,那么我们接下来计算的时候就要把4+5整体当成一个等同于9的操作数,接着下一个操作符是*,取最近两个操作数,也就是4+5,2,(4+5) *2=18,该表达式也要看做一个操作数,下一个操作符是+,取最近两个操作符,即(4+5) *2,6,也就是(4+5) *2+6=108,因此这个前缀表达式的值是108。将前缀表达式反转,+ * 2 + 4 5 6就是我们最后求得的前缀表达式。

2024-03-19 22:24:15 1015 1

原创 (Linux)认识gdb

Liunx下gdb的使用

2024-01-21 22:01:20 505

原创 数据结构:Queue队列

队列:数据结构线性表的一种,它与栈不同,栈是先进后出,而队列是先进先出,在队尾入列,在队头出列。队头(head):队列中出队列的一端队尾(tail):队列中插入队列的一端​。

2023-09-11 23:03:01 183 1

原创 C语言实现单链表的增删查改(数据结构基础)

👀👀本文录入《C语言》专栏,是数据结构的基础链表的一种😊😊其他专栏:《java》,《C++》😘😘内容省流:用C语言学习单链表的增删查改。

2023-08-02 21:23:42 981 4

原创 C语言实现顺序表

1.2 SeqList.c1.3 test.c二、顺序表的实现2.1 顺序表创建一个顺序表结构体,成员包含顺序表地址、长度、大小,用于创建顺序表变量。 将顺序表变量的地址传参,通过指针接收对顺序表的顺序表数组初始化为空,长度为0,大小为0。同样传地址,要先断言指针是否为空,不然会出异常。然后判断顺序表大小是否为0,为0则代表顺序表中没有有效元素,打印提示,并返回函数,如果大于0,则有元素,从下标0开始,打印size个顺序表元素,并用空格相隔。当我们结束程序

2023-07-26 23:47:19 1995 16

原创 算法复杂度《C++篇》

一、算法是什么本文录入《C++》专栏,本专栏根据博主自身所积累的学习经历,针对大学生初学者。其他专栏:《java》,《C语言》内容省流:对函数算法复杂度的详解,C++入门必学一、算法是什么算法就是一个定义良好的计算过程,他取一个或一组的值作为输入,并产生一个或一组值作为输出。简单来说算法就是一系列的计算过程,是程序员抽象出来的,并将输入结果转化为输出结果。二、算法复杂度对于一个问题,例如求1+2+3+...+100的值,看起来很简单,但它有各种各样的解决方法,有的人会硬算,用循环相加得到。

2023-07-26 00:10:44 321 7

原创 C语言动态内存分布函数

这时我们可以用到动态内存开辟的函数malloc,我们使用malloc是在堆区上申请一个动态内存空间,malloc函数的返回值是返回这个空间的地址,根据这个地址,我们可以找到这块动态内存空间。3.当我们将动态内存的空间释放掉后,如果我们在释放之前将它赋给了指针,再释放掉这块空间后,这个指针将会变成野指针,所以我们在释放掉空间后,一定要将这个指针置空。realloc函数可以将我们动态申请的空间做灵活的调整,有时我们申请的空间过大,我们可以使用realloc函数使其变小,申请过小,我们可以使其变大。

2023-07-19 23:11:07 152

原创 C语言结构体

结构是一些值的集合,这些值我们称之为成员变量,结构的每个成员变量可以是不同类型的变量,可以认为这些成员变量是每个结构的属性。

2023-07-16 10:37:47 46 1

原创 包、import语句以及jar包的创建

我创建一个包名叫com.com,那么它的class字节码文件就必须放在"\com\com"的路径下,而源文件可以随意存放,假设该包的绝对路径为"C:\src\com\com",有一种简单的方式,就是把源文件放在"C:\com\com"的路径下,再来编译源文件。同上1.,也是遵循"包和源文件左对齐,父录一致"的规范,例如一个源文件"Trc.java",一个有包名类"test1.com.Ts",则他们的父录都得是"C:\src"(同上)。注:在包的名字前,要有关键字"package(包)","

2023-04-08 21:33:14 590

原创 Java类、构造方法、对象、对象引用

上文我们介绍了类,类中的变量以及方法可以看做是该类的基本属性,但是类是一个面向对象的一种数据类型,创建对象,其实就是以类为模版,创建一个实例分配类中的基本属性,用对象来引用类中的变量和方法。实际上,上面的写法并不是对对象的声明,而是对对象引用声明,对象引用相似于C语言的指针,是指向于对象,如果只是声明对象,对象引用并不知道要引用哪个对象,就像绳子不知道绑哪个气球。但如果只是创建了对象并分配给了变量而没有赋值给对象引用,虽然对象存在,但是对象引用无法引用该对象,直到给该引用赋值了一个对象。

2023-04-06 18:10:30 130 1

空空如也

空空如也

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

TA关注的人

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