自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C++】 八大排序算法的代码实现

摘要: 本文详细介绍了C++实现的八大排序算法,包括插入排序(直接、折半、希尔)、交换排序(冒泡、快速)、选择排序(简单、堆)以及归并和基数排序。每种算法均提供代码实现,并列出关键性质:时间复杂度(最好/平均/最坏)、空间复杂度、稳定性和适用数据结构。其中直接插入、冒泡和归并排序具有稳定性,快速排序和堆排序在效率上表现突出。特别说明基数排序适用于多关键字排序场景,而归并排序需要较大辅助空间。所有算法实现均采用vector容器,适合不同场景应用。

2025-06-07 21:57:49 255

原创 【学习笔记】中缀表达式转后缀表达式及计算

在C++中,实现中缀表达式转换为后缀表达式(逆波兰表达式)以及后缀表达式的计算是一个非常经典的问题。它不仅涉及到栈(Stack)数据结构的使用,还涉及到对运算符优先级的处理。本文将详细介绍如何实现这一过程,并提供完整的代码实现。)是我们日常使用的表达式形式,其中运算符位于操作数之间。而后缀表达式(逆波兰表达式)是一种不需要括号来标识优先级的表达式形式,运算符位于操作数之后(如。以下是完整的C++代码实现,包括中缀表达式转后缀表达式以及后缀表达式的计算。代码中还包含了调试信息的输出,方便理解每一步的操作。

2025-03-14 19:45:57 486

原创 【C++学习笔记】shared_ptr与bool的相关转换

声明一个智能指针后,如,在使用p参与if语句中的逻辑运算时,以下几种写法有什么区别,以及他们的运行结果?

2024-11-22 14:59:19 188

原创 Vmware pro 配置 ubuntu 24.04 LTS

Ubuntu24.04的源地址配置文件发生改变,不再使用以前的sources.list文件,升级24.04之后,而是使用如下文件。imwheel是一组命令工具可以用来调节鼠标滚轮的行为,修改滚轮速度,主要解决使用vscode时鼠标速度不匹配的问题。**注意:**如果虚拟机重启,需要再次挂载共享文件夹。文件中,添加如下内容:把wy修改成自己的用户名。文件,并添加对应的内容和代码。

2024-10-28 11:21:50 605

原创 【学习笔记】检查 `rte_mbuf`是否有效的四种方法

考虑速率问题,使用方法一,即使用标志字段标志是否有效。考虑内存问题,使用方法二,即在每次调用成员函数时,使用检查是否有效。对于p_mbuf在外界被释放的问题,需要由程序员自己约束不释放,或通过下述两种解决方案进行解决。

2024-10-21 11:15:51 829

原创 【C++学习笔记】纪录一下最近一次debug错误调试内容

至于为什么在达到内存池管理上限才会发生错误,原因是我的内存池设计时为循环分配内存,最开始的内存在循环一轮,其他所有内存都被分配以后才会被分配,也就是说,如果我的内存池大小为20,那么在分配第21次时,由于前面20次调用free时,清空了每个构造好的pkt_list对象,在第21次分配时,就会使用错误的std::list对象,从而引发异常。接着在析构函数中,实际为0的pkt_list被移动构造函数 交换给临时量后,临时量调用析构函数清空资源,发现自己的数据字段异常,产生了一开始的错误。

2024-10-07 22:06:06 727

原创 【C++】自定义异常处理类 与错误码 的通用实现与使用

类继承自 std::exception,用于封装错误信息和错误代码,并提供异常的描述。这个类在构造时接受错误消息、错误代码、文件名、函数名和行号,生成一个格式化的错误描述,并在抛出异常时打印出来。通过这个示例,我们可以看到如何定义一个自定义的异常处理类,并在程序中使用它。自定义异常类可以让我们更灵活地处理错误情况,提供更丰富的错误信息。在实际开发中,你可以根据需要扩展这个类,增加更多的功能,比如支持不同的日志级别、错误处理策略等。

2024-09-30 22:48:31 577 1

原创 【Linux】C++实现epoll反应堆IO复用服务器(230行代码)

还是黑马的代码,只不过我用c++重写了一遍。epoll没有使用ET模式,只是个简单的样例demo。

2024-09-22 20:39:50 257

原创 【linux网络编程】C++使用select实现本地简易聊天室多路IO转接服务器(110行代码)

看完黑马的课后,感觉他在c语言下实现的示例服务器性能不是很好,所以打算使用stl的set容器来存储文件描述符(Socket客户端),学习了select之后也是动手练习搭建一个简单的本地聊天室服务器。话不多说直接上代码。

2024-09-21 21:01:55 1034

原创 【linux网络编程】C++实现本地简易聊天室服务器(100行代码)

学习了多线程与Socket套接字后,打算写一个类似qq的本地群聊聊天室作为练习,于是就写了下面的这些代码。运行环境为linux,编程语言为c++11。话不多说直接上代码。

2024-09-20 20:12:22 512

原创 纪录一下自己做的C++高精度算法加减乘除

这个类无法进行负数的运算。还有就是在除数中使用的是逐数试商的算法。写了我一下午,不过辛苦都会有收获。以后有时间再出个能进行负数运算的版本。

2024-04-24 20:22:39 408

原创 【第15届蓝桥杯C/C++B组省赛】试题&参赛经历&经验&个人题解

​ 蓝桥杯结束了,学了这么久的算法,虽然写的不是特别好,大多都是直接暴力,但是希望能进国赛吧。现在是2024年9月22日20:43:28,距离4月份参加完省赛已经过了5个月,当时参加省赛的代码我在官网上模拟自测了一下,得分为70(满分150),这些代码虽然写的一坨,但是在四川省b组也能拿省一等奖进国赛,甚至当时的排名还比较靠前,希望对后续参加蓝桥杯的同学有所帮助。​ 本来想用哈希表来剪枝,不知道为什么当时没写出来,一直报错,devc++我又不知道哪里错了,没办法 反正也是骗分,直接暴力了。

2024-04-13 15:17:34 12823 14

原创 【设计模式】C++策略模式

接下来的 N 行,每行输入两个整数,第一个整数M( 0 < M < 400) 表示商品的价格, 第二个整数表示优惠策略,1表示九折优惠策略,2表示满减优惠策略。总之,你的代码实现了策略模式,通过运行时动态选择不同的策略(Discount1 或 Discount2)来实现相同的功能(计算价格)。的成员函数来执行特定的算法,但不直接与具体的算法实现类耦合,从而实现了算法的灵活切换。小明家的超市推出了不同的购物优惠策略,你可以根据自己的需求选择不同的优惠方式。类型的指针,根据不同的情况选择具体的算法。

2024-03-31 19:49:25 547 1

原创 C++与STL笔记

纪录一下我学习Effective c++,Effective STL和More Effective c++的笔记

2024-03-31 18:08:04 1301 1

原创 【设计模式】C++单例模式

小明去了一家大型商场,拿到了一个购物车,并开始购物。请你设计一个购物车管理器,记录商品添加到购物车的信息(商品名称和购买数量),并在购买结束后打印出商品清单。(在整个购物过程中,小明只有一个购物车实例存在)。单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供了全局访问点来访问该实例。输入包含若干行,每行包含两部分信息,分别是商品名称和购买数量。方法使用了静态变量来保存实例,确保了在程序运行期间只有一个实例存在。类在程序中只有一个实例存在,并提供了全局访问点来获取该实例。

2024-03-30 22:10:25 535 1

原创 【设计模式】C++工厂模式

简单工厂模式(Simple Factory Pattern)通常包含一个工厂类,该工厂类负责根据客户端的需求创建相应的产品对象。简单工厂模式通常将对象的创建逻辑封装在一个单独的工厂类中。在示例中,积木工厂生产了3块积木,其中有2块是圆形积木,1块是方形积木。小明家有两个工厂,一个用于生产圆形积木,一个用于生产方形积木,请你帮他设计一个积木工厂系统,记录积木生产的信息。此外,简单工厂模式通常只有一个工厂方法,而在你的代码中,因此,你的代码更类似于工厂方法模式的一种简化形式,而不是严格意义上的简单工厂模式。

2024-03-30 22:03:48 283 1

原创 2024年,一文教你简单使用Git图形化工具TortoiseGit和Github的版本控制

首先先说明git的作用。它是最流行通用的版本控制软件,一般来说有两个重要的应用。作用一:团队项目协作开发。当一群人一起开发一个项目时,如何把大家写的代码整合到一起,还要同步更新,比如A写完的代码就要更新在B的电脑上,如果单纯的copy当然也不是不行,但是git可以让大家把已经写好的代码托管到仓库管理平台(如Github),再把代码推送给各位员工的电脑,从而实现同步,提高开发效率。作用二:版本回退与更新。

2024-03-24 22:35:00 3093 1

原创 c++实现趣味数独

【代码】c++实现趣味数独。

2023-11-14 22:52:46 304

原创 纪录以下C++类与对象学习中的练习

总的来说,类是用户定义的类型,对象则是类的示例。类与对象编程强调了面向对象的编程思想。类与对象的好处之一是使程序便于维护,开发者可以随意的对程序的任何部分做独立的改进,而不必担心这样做会导致意外的不良影响。该程序主要练习了类的构造函数,析构函数,函数重载,this指针,值的引用,类的设计,还有其他巴拉巴拉的乱七八糟的东西。该项目由三个文件源文件构成,headerfile.h作为头文件用来定义类,headerfuc.cpp为类中的函数提供定义,test.cpp为主函数进行调用。下图为该代码的部分运行图。

2023-11-13 19:59:01 77

原创 (小白向)unity简单实现第一人称摄像机旋转

四行代码简单实现第一人称摄像机的旋转

2023-09-15 15:29:54 664 1

空空如也

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

TA关注的人

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