- 博客(37)
- 收藏
- 关注
原创 【数据结构】散列(哈希)表简单介绍
散列表(Hash table)是表示集合和字典的另一种有效方法,它提供了一种完全不同的存储和搜索方式,通过将关键码映射到表中的某个位置来存储元素,然后根据关键码用同样的方式直接访问。
2024-09-23 21:19:19
1287
原创 [C++]AVL树插入和删除操作的实现
AVL树又称为高度平衡的二叉搜索树,是1962年由两位俄罗斯数学家G.M.Adel’son-Vel’skii和E.M.Landis提出的。ALV树提高了二叉搜索树树的搜索效率。为此,就必须每向二叉搜索树插人一个新结点时调整树的结构,使得二叉搜索树保持平衡,从而尽可能降低树的高度,减少树的平均搜索长度。
2024-08-30 15:00:40
1030
原创 [Linus]用户、文件、目录权限和粘滞位
(一)超级用户和普通用户Linus下有两种用户,分别为:有root权限,可以在linus系统下做任何事情,不受限制。:没有root权限,在Linus下只能做有限的事情。超级用户的命令提示符是,普通用户的命令提示符是。(二) 切换用户(三)用户提权普通用户在执行某些指令和操作时会受到。如普通用户使用yum安装某软件是不允许的。如果想执行受限制的指令,在知道root密码的情况下可以使用su -切换到超级用户来执行对应的操作。
2024-08-11 22:34:42
1155
原创 [算法]二叉搜索树(BST)
二叉搜索树 (BST) 是一种特殊类型的二叉树,其中每个顶点最多可以有两个子项。此结构遵循BST 属性,规定给定顶点的左侧子树中的每个结点的值必须小于给定顶点的值,并且右侧子树中的每个结点的值必须大于给定顶点的值。
2024-08-05 22:44:37
1168
原创 [C++]多态与虚函数
视频账号分普通用户和会员用户,当普通用户看视频时会有广告弹出,而当会员用户看视频时不会有广告弹出,不同的用户在看视频时有不同的行为(即弹窗和不弹窗),这就是多态。
2024-08-01 19:23:02
1018
原创 [C++]继承
继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类或子类。本篇文章简单介绍C++的继承。
2024-07-31 17:14:05
631
原创 [算法]归并排序(C语言实现)
归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。
2024-07-26 15:53:29
2569
原创 [C++]vector的模拟实现
容器:向量(vector)vector是表示大小可以变化的数组的序列容器。像数组一样,向量对其元素使用连续的存储位置,这意味着也可以使用指向其元素的常规指针上的偏移量来访问其元素,并且与数组中的元素一样高效。但与数组不同的是,它们的大小可以动态变化,它们的存储由容器自动处理。模板类操作一、构造函数vector();默认构造用n个val进行填充初始化防止vector(int,int)与下面的模板函数发生歧义迭代器区间初始化用初始化列表进行初始化拷贝构造函数赋值构造。
2024-06-01 20:56:30
1239
原创 [C++]函数模板和类模板
函数模板和类模板 但如果我们需要的交换函数不止是整形的数据,还需浮点型,双精度浮点型,字符类型等的变量交换的函数时,我们就需要对每一个类型定义对应的变量交换的函数,而且C语言不支持函数重载,每个交换函数的函数名不能相同。C++支持函数重载,将每种类型交换的函数写成同名函数可以使含义清晰,方法简单,但是每种类型的交换函数仍需单独的定义。这个时候,使用函数模板可以简化代码。 函数模板,实际上是建立一个通
2024-04-30 22:05:07
655
1
原创 [C++]类和对象的explicit关键字和静态成员
1、explicit关键字就是用来禁止其相关的隐式类型转换。2、声明为static的类成员称为类的静态成员。
2024-04-20 21:16:19
604
1
原创 [C++]类与对象——构造、析构、拷贝成员函数
1. 析构函数名是在类名前加上字符 ~。2. 析构函数无参数无返回值类型。3. 一个类只能有一个析构函数。若未显式定义,系统会自动生成默认的析构函数。注意:析构函数不能重载4. 对象生命周期结束时,C++编译系统系统自动调用析构函数。5. 编译器生成的默认析构函数,对自定类型成员调用它的析构函数。6. 如果类中没有申请资源时,析构函数可以不写,直接使用编译器生成的默认析构函数,比如一个类的成员里都是自定义类型时,但如果有动态申请空间,则需要自行写析构函数对其资源进行释放。
2024-04-11 15:17:12
835
1
原创 [C++]引用
对一个数据可以建立一个“引用”,它的作用是为一个变量起一个别名,变量和它的引用共用同一块空间。是C++对C的一个重要扩充。二、引用的使用1、使用方法数据类型& 引用变量名(对象名) = 引用实体int main()int a = 10;//定义a是整形变量int& b = a;//声明b是对a的引用return 0;以上声明了b是a的引用,即b是a的别名。a和b都指向同一块内存空间,因此b是a的引用,操作b相当于操作a。注意:在上述声明中,&是引用声明符,并不代表地址,
2024-04-07 21:46:31
553
原创 [C++]命名空间解决命名冲突问题
void rand()//space2里定义rand函数int main()//访问space2里的rand函数//调用<stdlib.h>库里的rand函数赋值给num//访问space2里的rand函数return 0;上述代码首先调用了space2命名空间里的rand()函数来打印出num的值为0,然后调用库函数里面的伪随机数函数rand()来生成随机值并把随机值赋值给num,在第二次调用space2命名空间里的rand()函数时,我们可以看到,num从0变成了伪随机数41。
2024-04-04 11:11:32
2952
1
原创 [C语言]详细介绍实现简单的贪吃蛇小游戏及代码分享
写到这里,我们的贪吃蛇也就基本完善了,这是一个非常简易的贪吃蛇,我们通过400多行代码实现了其基本的功能,我们可以借此过程来锻炼自己的代码能力和提升自己对编程的兴趣。在写代码的过程中我们要注意我们在处理蛇的链表节点时要细心一点,避免出现越界访问这种情况,当我们程序异常退出的时候,十有八九就是我们蛇的移动这里没有处理好,我们可以通过调试,看看哪里出现了内存的异常问题,我们再对出问题的地方进行具体分析。
2024-01-30 18:53:55
1363
2
原创 [C语言]程序的编译与链接
这条报错就是在这个步骤被发现的。到这里我对汇编和链接的介绍就结束了,只是粗略的介绍。如果有兴趣,大家可以去参考相应书籍来了解更多有关的知识。
2024-01-18 15:14:59
934
1
原创 [C语言]整形和浮点型的数据在内存中的存储简介
在了解整形和浮点的数据在内存中的存储前,我们得知道数据存储在计算机中都是补码,要了解补码,我们还得了解源码和反码。
2023-12-09 23:04:44
696
原创 [C语言]字符函数和字符串函数使用简介
C语言中,我们经常要处理字符和字符串,因为字符串不是通过简单的赋值和加减就能够搞定的,所以为了方便我们处理,C语言标准库中提供了一系列关于字符和字符串的库函数。
2023-12-08 18:29:10
83
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人