- 博客(21)
- 收藏
- 关注
原创 模拟实现STL中的list容器
本文介绍了C++ STL中list容器的模拟实现方法。首先设计了双向循环链表的节点结构,包含数据域和前后指针域。然后重点实现了list迭代器类,通过重载运算符模拟指针行为。最后构建了list类,包括构造/析构函数、元素访问接口以及O(1)时间复杂度的插入删除操作,使用哨兵节点简化边界处理。完整实现展示了list作为双向链表的核心特性和优势。
2025-08-30 15:26:00
918
原创 模拟实现C++中的string类型:从底层理解字符串操作
本文介绍了如何手动实现一个简化版C++ string类,包含核心成员变量设计、构造与析构函数、基本操作实现、字符串修改操作以及查找功能。关键点包括:使用动态分配的字符数组存储字符串内容;实现深拷贝避免内存问题;通过reserve和resize管理内存容量;重载运算符支持字符串操作;提供迭代器支持。该实现展示了string类底层工作原理,包括内存管理、容量调整和字符串操作等核心功能,为理解标准库string的实现机制提供了参考。
2025-08-27 13:15:57
624
原创 模拟实现C++ STL中的vector容器
摘要:本文详细介绍了C++ STL中vector容器的模拟实现,重点分析了其核心成员变量、构造函数/析构函数、迭代器设计、容量管理以及元素访问与修改操作。通过三个关键指针(_start、_finish、_end_of_storage)实现动态数组管理,展示了push_back、insert、erase等核心操作的实现细节,包括扩容策略、元素移动和迭代器失效处理。该实现完整还原了vector的基本功能,为理解STL容器底层机制提供了实践参考。
2025-08-25 13:32:15
707
原创 C++实现常见的排序算法
1. 插入排序直接插入排序希尔排序2. 选择排序选择排序堆排序3. 交换排序冒泡排序快速排序4. 归并排序归并排序以上就是今天要讲的内容,本文简单给大家介绍了常见的几种排序算法,这些排序算法还是比较重要的,在找工作面试的过程中可能也会被问到,所以还是尽可能将其掌握。
2025-08-23 15:05:08
896
原创 C语言实现堆(优先级队列)
本章使用C语言实现了数据结构中的堆,堆的实现并不复杂,难点在于对于堆结构的理解,堆的应用也是非常广泛的,值得我们去亲自实现它。
2024-11-08 17:03:37
1258
1
原创 C语言实现队列
本章使用C语言实现了数据结构中的队列,队列的结构也不是很难,实现难度也不是很大,但是队列的作用却很大,值得我们去亲自实现它。
2024-09-29 11:52:07
1675
2
原创 C语言实现双向链表
本章使用C语言实现了数据结构中的双向链表,对于数据结构的初学者来说有一定难度,但对于提升对链表的理解来说意义非凡,值得我们亲自去实现。
2024-09-13 11:50:55
2616
原创 C语言工程实践实现完整的五子棋项目四(最终章)(人机对战部分和文件存储部分)
C语言工程实践实现的五子棋项目第四章(最终章),需要熟练掌握C语言的语法及使用,本章主要实现了人机对战部分和文件存储部分。
2024-08-25 16:03:33
1341
原创 C语言工程实践实现完整的五子棋项目三(游戏内容部分)
C语言工程实践实现的五子棋项目第三章,需要熟练掌握C语言语法及使用,本章主要实现了五子棋游戏内容部分的逻辑。
2024-08-21 16:19:38
1135
原创 C语言工程实践实现完整的五子棋项目二(游戏菜单和玩家信息操作部分)
C语言工程实践实现的五子棋项目第二章,需要熟练掌握C语言语法及使用,本章主要实现了游戏菜单和玩家信息操作部分。
2024-08-19 22:00:53
1145
原创 C语言工程实践实现完整的五子棋项目一(玩家信息部分)
C语言工程实践实现的五子棋项目第一章,需要熟练掌握C语言语法及使用,本章主要实现了玩家信息基本操作注册、登录等部分。
2024-08-18 14:25:58
1551
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅