logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【Linux】日志设计模式与实现

计算机中的日志是记录系统和软件运行中发生事件的文件,主要作用是监控运行状态、记录异常信息,帮助快速定位问题并⽀持程序员进⾏问题修复。它是系统维护、故障排查和安全管理的重要工具。

文章图片
#linux#设计模式#运维
数据结构——lesson10排序之插入排序

元素集合越接近有序,直接插入排序算法的时间效率越高时间复杂度:O(N^2)从下标为1开始每次拿出数组的一位数与前面的数进行比较,按照最坏的情况前面所有的数都比较一次,时间复杂度可以看成1+2+3+4+…+n-1;结果是O(N^2);如果元素集合接近有序则不需要和前面所有的数比较时间复杂度大大减少,最好时(有序)可以达到O(n).空间复杂度:O(1),它是一种稳定的排序算法稳定性:稳定插入排序也有两

文章图片
#数据结构
数据结构——lesson9排序之选择排序

以上就是选择排序包含的两种排序——直接选择排序和堆排序啦~ 堆排序在之前的博客中有详细讲过不过是建的小堆实现的降序,求最大前k个值,这里我们稍微改了点代码实现建的小堆实现升序;为什么升序要建大堆原因已经在文中详细解析过,大家有什么问题或者想法都可以打在评论区或者私信我🥳🥳完结撒花 ~🎉🎉🎉。

文章图片
#数据结构#算法
数据结构——lesson12排序之归并排序

我们学习了归并排序的两种实现——递归与非递归版;并分析了归并排序的时间和空间复杂度

文章图片
#数据结构#排序算法#算法 +1
【C++类和对象】初始化列表与隐式类型转换

初始化列表是C++类和对象中初始化成员变量的方式,在一些情况下可以提高效率和代码可读性。隐式类型转换在某些情况下可以方便地进行类型转换,但有时也会导致意外的结果或者不可预测的行为,所以C++提供了explicit来禁止隐式类型转换。

文章图片
#c++#c语言
【C++类和对象】const成员函数及流插入提取

在类和对象的成员函数中只读函数可以加const,因为其内部不涉及修改生成;取地址与const取地址这两个运算符一般不需要重载,使用编译器生成的默认取地址的重载即可,只有特殊情况,才需要重载;此外流插入运算符和流提取运算符通常都是以友元函数的形式定义在类的声明内部,这允许它们访问类的私有成员。

文章图片
#c++#chrome#开发语言 +1
【C++】模板初阶:泛型编程的起点

使用C++模板,可以定义函数模板和类模板。函数模板是一种通用的函数定义,可以用于处理多种类型的输入参数。例如,可以编写一个通用的排序函数模板,可以用于排序整数、浮点数、字符等类型的数据。类模板是一种通用的类定义,它可以用于创建具有相似结构和行为的多种类对象。例如,可以编写一个通用的容器类模板,可以用于存储不同类型的数据。C++中的模板是一种强大的机制,可以实现泛型编程,提高代码的可重用性和灵活性。

文章图片
#c++#开发语言#c语言
【C++类和对象】日期类的实现

以上只是一个简单的日期类示例,实际的日期类可能还包括其他功能,例如日期的格式化等操作。这里只是提供了一个起点,大家可以根据自己的需求对日期类进行扩展

文章图片
#c++#c语言
【C++类和对象】探索static成员、友元以及内部类

static静态成员在一些场景下可以用来保存全局数据或提供公共的工具函数,也可以用来实现单例模式等。但需要注意,在多线程环境下操作静态成员时需要考虑线程安全性。友元关系提供了一种在需要的情况下访问其他类的私有成员的机制。但由于友元关系破坏了封装性,一般不使用。内部类是指在一个类的内部定义的另一个类。内部类可以直接访问外部类的成员,包括私有成员,而外部类则不能直接访问内部类的成员。。

文章图片
#c++#c语言#开发语言
【C++】探索C++内存管理:机制揭秘与内存安全

C++使用的内存管理方式:通过new和delete操作符进行动态内存管理。相较于C语言得maloc,new不用计算开辟空间的大小也不需要进行类型的强制转换,还可以进行初始化;此外new和delete对于自定义类型除了开辟空间和释放空间,还可以自动调用它得构造函数和析构函数;通过合理的内存管理,可以提高程序的性能和稳定性,减少内存相关问题的发生。

文章图片
#c++#安全#c语言
    共 31 条
  • 1
  • 2
  • 3
  • 4
  • 请选择