C/C++
文章平均质量分 89
分享记录C/C++的学习过程和学习项目~
loveCC_orange
一个在技术道路上不断前行的路人甲
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
多线程编程的实战应用(一)——互斥锁,条件变量和异步操作详解
本文探讨了多线程编程中的线程同步问题,通过一个按序打印的题目介绍了多种同步方法。文章首先分析了互斥锁的原理和实现,指出其存在的问题并建议使用RAII机制的std::lock_guard。随后详细介绍了条件变量的工作机制,包括wait()、notify_one()等核心操作,并以生产者-消费者模型为例展示了条件变量的典型应用场景。文章内容由浅入深,从基础概念到实际应用,为多线程同步问题提供了清晰的解决方案。原创 2025-08-26 10:48:38 · 849 阅读 · 0 评论 -
并查集算法的一个实战应用详解
本文探讨了利用并查集算法解决离线查询问题的优化方法。通过将边按高度差排序、查询按阈值排序,实现了高效处理连通性问题。核心思路是:利用并查集动态维护连通性,按阈值从小到大处理查询,逐步添加符合条件的边,从而避免重复计算。该方法的时间复杂度为O(m log m + q log q),适合处理大规模数据,显著提升了算法效率。并查集的路径压缩优化和离线处理策略的结合,为图论连通性问题提供了优雅的解决方案。原创 2025-08-08 11:29:07 · 911 阅读 · 0 评论 -
关于滑动窗口最大值题目的两种解法:优先级队列和单调队列详解
本文介绍了滑动窗口最大值的两种解法:优先级队列和单调队列。优先级队列通过维护元素及其索引,在O(nlogn)时间内找到每个窗口的最大值。单调队列则通过保持队列元素单调递减的特性,在O(n)时间内高效求解。两种方法都能正确解决问题,但单调队列在时间效率上更优,适合处理大规模数据。示例展示了两种方法的具体执行步骤和复杂度分析,帮助理解算法实现过程。原创 2025-07-25 00:44:40 · 915 阅读 · 0 评论 -
从零开始学习OMNeT++系列第五弹——IEEE 802.11相邻信道间的串扰案例仿真
可以有一些独立的信道,这些信道之间没有跨信道干扰,例如信道1、6和11,如下图所示。配置文件中将不重叠的信道设置为信道0和信道5是因为在omnet的仿真框架INET中,802.11模型的信道编号是从0开始的。所以这里将不重叠的信道设置为信道0和信道5对应的就是上面所说的信道1和信道6。通过使用两个无线介质模块,并将不相互干扰的主机对配置为使用不同的无线介质,可以省略这些不必要的消息发送,从而优化模拟。在这个展示中,我们将演示如何在模拟中使用重叠和非重叠信道,以及不同信道上的传输如何相互干扰。原创 2025-02-21 11:45:45 · 1116 阅读 · 3 评论 -
从零开始学习OMNeT++系列第四弹——INET框架下的802.11模型详解
IEEE 802.11协议,也就是WIFI协议,是广泛使用的无线网络标准,其规范每几年更新一次,会增加新特性和提高WiFi网络的传输速率,现在WiFi协议的最新版已经更新到了WiFi7,但是目前在生活中最常用的还是WiFi6。在omnet++6.0.3的INET4.5.4框架中,通过添加使节点支持WiFi(需要注意的是,在和AdhocHost的默认配置中,已经包含了这个接口,不用额外添加),无线接入点(AP)由AccessPoint节点类型表示。WiFi网络需要一个传输介质模块,通常是。原创 2024-12-30 15:08:11 · 1699 阅读 · 0 评论 -
从零开始学习OMNeT++系列第三弹——新建一个使用INET框架的工程
首先,我们想要创建一个包含两个主机的网络,其中一台主机通过无线给另一台主机发送UDP数据流,我们的目的是想要物理层和更底层的协议尽可能的简单。这样,我们就完成了新建omnet++工程的步骤,到这里是和我们创建普通的omnet++工程是一样的,接下来开始配置INET框架。于是,我从官网上找了INET的教程,重新新建了一个仿真程序来进行INET框架的仿真验证,跑成功了!原创 2024-10-16 10:10:23 · 3975 阅读 · 3 评论 -
从零开始学习OMNeT++系列第二弹——新建一个OMNeT++的工程
创建一个有两个节点的网络,其中一个节点会创建一个数据包,两个节点会来回传递相同的数据包,这两个节点分别叫做 tic和toc ,接着我们会逐渐拓展这个模型,在这个过程中介绍Omnet++的特征。通过该流程的学习,我们了解到一个模型的创建包含了三类主要文件ned 、cpp和ini。ned文件构建模块和网络,可以通过图形化界面或文本输入构建cpp文件编程各个模块的具体功能ini文件确定运行那个网络或传递参数等。除了学习到创建各个文件的用途、创建方式、命名规则等。原创 2024-09-30 17:17:17 · 3239 阅读 · 0 评论 -
从零开始学习OMNeT++系列第一弹——OMNeT++的介绍与安装
主要用于构建网络仿真器。这里的“网络”具有更广泛的含义,包括和、片上网络、排队网络等。特定领域的功能,如对传感器网络、无线局域网络、互联网协议、性能建模、光子网络等的支持,由模型框架提供,这些框架作为独立项目开发。OMNeT++ 提供了一个基于 Eclipse 的集成开发环境、图形化运行时环境和许多其他工具。还有实时仿真、网络仿真、数据库集成、SystemC 集成等扩展功能。OMNeT++ 为模型提供了一个组件架构。,然后使用。模型的可重用性是自然而然的。原创 2024-09-29 09:59:01 · 6323 阅读 · 6 评论 -
【华为机试】HJ17 坐标移动详解+完整源代码示例
题目详细解析+源代码示例!!!原创 2023-07-16 00:33:02 · 822 阅读 · 0 评论 -
【华为机试】HJ16 购物单详解+完整源代码示例
华为机试题目详解+完整源代码示例,超级详细的注释和分析!!!原创 2023-07-09 02:32:06 · 923 阅读 · 0 评论 -
六种常用排序方式详解(C++实现)
六种排序算法的实现(C++)原创 2022-08-14 22:33:37 · 1383 阅读 · 1 评论 -
静态成员static详解
关于静态成员static的详解,搞清楚原因~原创 2022-07-21 15:30:17 · 670 阅读 · 0 评论 -
C++实现一个基于多态的职工管理系统(附源码)
简单实现一个基于多态的职工管理系统~原创 2022-06-19 13:59:18 · 794 阅读 · 0 评论
分享