- 博客(60)
- 收藏
- 关注
原创 Linux文件的权限
管道文件用p来表示。当前用户为gec,我们在cp文件的时候,会复制执行者的属性与权限,所以如果我们想将文件复制给jack1这个所属组不为gec的其他人,他还是不能修改该文件,所以这时候就需要修改文件属性了。纯文本文件就是我们可以看的懂内容的文件,二进制文件就是linux当中的可执行文件,数据文件是:有些程序在运行的过程中会读取某些特定格式的文件,那些特定格式的文件就称为数据文件。目录的x代表执行,目录的x代表的是用户是否能进入该目录成为工作目录的用途,所谓的工作目录就是你目前所在的目录。
2025-07-12 14:46:57
907
原创 C++模板初阶
template//或者 templateclass 类模板名// 类内成员定义public:,_size(0){}// 使用析构函数演示:在类中声明,在类外定义。~Vector();// 注意:类模板中函数放在类外进行定义时,需要加模板参数列表。
2024-09-09 11:53:48
1061
原创 C/C++内存管理
/ 内置类型是几乎是一样的int main()// new/delete 和 malloc/free最大区别是 new/delqete对于【自定义类型】除了开空间还会调用构造函数和析构函数//new 对象A类型的对象并初始化为1,将返回的指针放在p2中free(p1);delete p2;delete p4;free(p5);return 0;
2024-09-09 08:53:56
1032
原创 C++类与对象(上)
类的引入类的定义类的两种定义方式:类的访问限定符及封装访问限定符封装类的作用域类的实例化类对象模型如何计算类对象的大小结构体内存对齐规则:this指针
2024-05-15 17:00:28
1083
原创 内联函数+auto关键字(C++11)+指针空指针nullptr(C++11)
内联函数、auto关键字(C++11)、指针空指针nullptr(C++11)详解
2024-05-14 16:00:40
840
原创 数据结构八大常见的排序
常见排序算法分类1.插入排序2.希尔排序(缩小增量排序)3.选择排序4.堆排序5.冒泡排序6.快速排序(递归和非递归)7.归并排序
2024-03-28 20:23:47
1382
原创 数据结构——二叉树
1.树的概念1.1树的概念1.2 树的相关概念树的表示1.4 树在实际中的运用(表示文件系统的目录树结构)2.二叉树概念及结构2.1概念2.3 特殊的二叉树:2.4 二叉树的性质2.5 二叉树的存储结构1. 顺序存储2. 链式存储3.二叉树顺序结构3.1 二叉树的顺序结构3.2 堆的概念及结构3.3 堆的实现4.二叉树链式结构及实现
2024-03-10 12:12:44
2120
原创 二叉树链式结构及实现
数据结构和接口函数新结点的创建和手动创建一个二叉树前序遍历中序遍历后序遍历二叉树的高度二叉树的节点个数二叉树的叶子节点个数二叉树第k层节点个数查找二叉树的某个节点层序遍历判断二叉树是否为完美二叉树
2024-03-10 12:09:59
903
原创 数据结构——Top-k问题
堆这里浅谈topk问题,堆排序,直接建堆法,建k个数的小堆法(空间大小取决于k,具有空间优势),方法二方法三时间复杂度大致一样
2024-03-03 05:53:56
2153
原创 数据结构—循环队列
为了能使下标Qrear = Qfront来区别队空还是队满,我们常常认为以下左图为队空,右图为队满的情况。左图初始空队列状态,我们认为Qrear=Qfront=0,右图此时满队列的状态,Qrear=7,Qfront=0。头删原理就是,自增front,同样在进行头删的时候,因为front的自增,在动态数组a[k]到a[0]之间的过渡也需要对front取值范围的限制。因为这是循环队列,在经过不断的插入删除的过程中,rear和front会不断地变换位置,所以判空条件就是判断他俩是否相等而不是他俩是否都为0。
2024-02-01 16:32:51
816
1
原创 数据结构链表——单链表
/数据类型//数据//指针}SLTNode;//结构体类型这里结构体数据类型的命名“SLT”为“Sequence List”的缩写 “Data”代表"数据",“Type”代表类型。
2023-08-10 20:13:10
209
原创 数据结构顺序表
尾删看似简单但是有坑,你是不是认为将size自减1就ok了,大体思路是这样的,但是若数组中有3个数据,但是你执行了4次尾删,那么size就会为-1,这时候在对数组进行使用时,就会造成数组越界,所以我们要对size进行限制。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…线性表在逻辑上是线性结构,也就说是连续的一条直线。头删比较简单,只要后从前往后遍历,将后一个元素把前一个元素覆盖就好了。和头删原理相同,但是只要删除就要考虑size的范围,不能使数组越界。
2023-08-03 00:23:31
127
原创 时间复杂度
在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。一个算法执行所耗费的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起来,才能知道。但是我们需要每个算法都上机测试吗?是可以都上机测试,但是这很麻烦,所以才有了时间复杂度这个分析方式。一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法的时间复杂度。找到某条基本语句与问题规模N之间的数学表达式,就是算出了该算法的时间复杂度。
2023-07-29 09:41:17
262
原创 C语言实现:找出单身狗问题
所以将原数组所有元素异或,成对的元素异或等于0;那么两个单身狗异或的结果的二进制位中为1的那一位,代表这两个数的那一位不同。2、结合律: a ^ b ^ c = a ^ ( b ^ c )3、对于任何数x,都有: x ^ x = 0,x ^ 0 = x。人家别人都两两在一起,就你自己,那你不是单身狗是啥,哈哈哈哈哈。4、自反性: a ^ b ^ b = a ^ 0 = a。所以我们利用异或原理直接让数组中所有元素相互异或即可。这两个数组中分别有一只单身狗,其余都是成对存在。因为相同的两个数异或等于0,
2023-07-17 17:03:14
204
原创 C语言#define和宏
#define和宏的定义、#和##的应用 使用#把一个宏参数变成对应的字符串;##可以把位于他两边的 符号合成一个符号。宏的副作用;宏和函数的对比
2023-07-16 17:30:48
428
原创 文件的随机读写:fseek;ftell;rewind函数详解
把 fp 指针退回(左)到离文件当前位置 100 字节处;把 fp 指针移动(右)到离文件当前位置 100 字节处;把 fp 指针退回(左)到离文件结尾 100 字节处。把 fp 指针移动(右)到离文件开头 100 字节处;根据文件的指针的位置和偏移量来定位文件指针。让文件指针的位置 回到文件的起始位置。
2023-07-07 14:21:08
229
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅