自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [数据结构]图——C++描述

简单讲解并实现一些与图相关的概念和算法。

2024-12-23 20:35:16 1236

原创 [Linus]Makefile自动化构建工具的使用

一个工程中的源文件数不胜数,其按类型、功能、模块分别放在若干个目录中,

2024-10-26 21:29:38 717

原创 [C++]智能指针

介绍一下C++里的四个智能指针:auto_ptr、unique_ptr、shared_ptr还有weak_ptr。

2024-10-14 20:30:15 1108

原创 C++11中的特性

这里主要讲解一些C++11相较于C++98所新增的比较实用的新特性。

2024-10-05 22:45:49 1129

原创 【数据结构】散列(哈希)表简单介绍

散列表(Hash table)是表示集合和字典的另一种有效方法,它提供了一种完全不同的存储和搜索方式,通过将关键码映射到表中的某个位置来存储元素,然后根据关键码用同样的方式直接访问。

2024-09-23 21:19:19 1287

原创 [数据结构]红黑树之插入操作(RBTree)

只着重介绍插入操作的实现。

2024-09-05 15:16:29 1322

原创 [C++]AVL树插入和删除操作的实现

AVL树又称为高度平衡的二叉搜索树,是1962年由两位俄罗斯数学家G.M.Adel’son-Vel’skii和E.M.Landis提出的。ALV树提高了二叉搜索树树的搜索效率。为此,就必须每向二叉搜索树插人一个新结点时调整树的结构,使得二叉搜索树保持平衡,从而尽可能降低树的高度,减少树的平均搜索长度。

2024-08-30 15:00:40 1030

原创 [C++]set和map的介绍及使用

set和map的介绍及使用

2024-08-22 22:00:48 1076

原创 [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

原创 [算法]插入排序和希尔排序

这里简单的介绍一下插入排序和希尔排序的算法实现,为简单起见,排序为升序且排序的数组是整形数组。

2024-07-27 18:27:15 850

原创 [算法]归并排序(C语言实现)

归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。

2024-07-26 15:53:29 2569

原创 [C++]list的迭代器模拟实现

list是一个顺序容器,它可以在任何位置频繁地进行插入和擦除数据的操作,并且支持双向迭代。

2024-07-03 08:46:39 1175

原创 [算法]——堆排序(C语言实现)

处的双亲结点开始,

2024-06-29 17:05:47 985

原创 [算法]静态链表(C语言)

不使用指针,用数组来模拟实现链表结构。

2024-06-10 17:28:31 426

原创 [C++]vector的模拟实现

容器:向量(vector)vector是表示大小可以变化的数组的序列容器。像数组一样,向量对其元素使用连续的存储位置,这意味着也可以使用指向其元素的常规指针上的偏移量来访问其元素,并且与数组中的元素一样高效。但与数组不同的是,它们的大小可以动态变化,它们的存储由容器自动处理。模板类操作一、构造函数vector();默认构造用n个val进行填充初始化防止vector(int,int)与下面的模板函数发生歧义迭代器区间初始化用初始化列表进行初始化拷贝构造函数赋值构造。

2024-06-01 20:56:30 1239

原创 [链表]求中间节点、反转链表、回文链表

链表的经典OJ题:返回链表的中间节点、反转链表、判断回文链表。

2024-05-27 23:30:47 608

原创 [C++]函数模板和类模板

函数模板和类模板 但如果我们需要的交换函数不止是整形的数据,还需浮点型,双精度浮点型,字符类型等的变量交换的函数时,我们就需要对每一个类型定义对应的变量交换的函数,而且C语言不支持函数重载,每个交换函数的函数名不能相同。C++支持函数重载,将每种类型交换的函数写成同名函数可以使含义清晰,方法简单,但是每种类型的交换函数仍需单独的定义。这个时候,使用函数模板可以简化代码。 函数模板,实际上是建立一个通

2024-04-30 22:05:07 655 1

原创 [C++]new和delete进行动态分配和撤销存储空间

C++动态分配内存:运算符new和delete的用法。

2024-04-24 20:41:39 1042

原创 [C++]类和对象的explicit关键字和静态成员

1、explicit关键字就是用来禁止其相关的隐式类型转换。2、声明为static的类成员称为类的静态成员。

2024-04-20 21:16:19 604 1

原创 [C++]类的参数初始化表

(但有些编译器会进行处理),但是,如果自定义类型的类中因为用户显式定义了一个需要传入参数的构造函数而导致。

2024-04-20 19:36:28 1582 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++]缺省值和函数重载

时为函数参数指定一个缺省值。在调用该函数时,如果没有指定形参则采用该形参的缺省值,否则使用指定的实参。

2024-04-05 11:54:07 646 1

原创 [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

原创 [算法]排序——快速排序(QuickSort)多种实现方式(C语言)

快速排序算法实现

2024-03-29 15:31:23 19698 9

原创 [C语言]详细介绍实现简单的贪吃蛇小游戏及代码分享

写到这里,我们的贪吃蛇也就基本完善了,这是一个非常简易的贪吃蛇,我们通过400多行代码实现了其基本的功能,我们可以借此过程来锻炼自己的代码能力和提升自己对编程的兴趣。在写代码的过程中我们要注意我们在处理蛇的链表节点时要细心一点,避免出现越界访问这种情况,当我们程序异常退出的时候,十有八九就是我们蛇的移动这里没有处理好,我们可以通过调试,看看哪里出现了内存的异常问题,我们再对出问题的地方进行具体分析。

2024-01-30 18:53:55 1363 2

原创 [C语言]程序的编译与链接

这条报错就是在这个步骤被发现的。到这里我对汇编和链接的介绍就结束了,只是粗略的介绍。如果有兴趣,大家可以去参考相应书籍来了解更多有关的知识。

2024-01-18 15:14:59 934 1

原创 [C语言]文件操作

C语言可以对文件进行操作,本篇文章介绍一下基础的文件操作方法。

2023-12-15 21:15:25 117

原创 [C语言]结构体和内存对齐

C语言中有五种自定义类型,分别是:数组、结构体、位段、枚举、联合体,而本篇文章重点讲一下。

2023-12-10 13:50:31 67 1

原创 [C语言]整形和浮点型的数据在内存中的存储简介

在了解整形和浮点的数据在内存中的存储前,我们得知道数据存储在计算机中都是补码,要了解补码,我们还得了解源码和反码。

2023-12-09 23:04:44 696

原创 [C语言]字符函数和字符串函数使用简介

C语言中,我们经常要处理字符和字符串,因为字符串不是通过简单的赋值和加减就能够搞定的,所以为了方便我们处理,C语言标准库中提供了一系列关于字符和字符串的库函数。

2023-12-08 18:29:10 83

原创 [C语言]指针简介

以上就是我对于指针的简介,大家可以自我实现qsort函数来练习指针的用法。

2023-12-02 22:17:59 71

原创 [C语言]实现一个简易的扫雷

C语言实现简易扫雷

2023-11-01 20:26:38 168 1

原创 [C语言]分支与循环语句

分支与循环语句的

2023-10-24 21:48:21 109

空空如也

空空如也

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

TA关注的人

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