- 博客(5)
- 收藏
- 关注
原创 list底层 单向链表和双向链表
本文介绍了单向链表的C++实现方法。首先定义了链表节点结构体Node,包含数据域和指向下一个节点的指针。然后实现了链表类ClinkedList,包含构造函数、析构函数以及插入(头部和尾部)、删除(单个和全部)、查找等基本操作。其中,头部插入时间复杂度为O(1),尾部插入为O(n)。还提供了显示链表内容的show()方法和测试用例,包括随机数生成、插入、删除和查找等操作。代码中使用struct而非class定义节点,因其默认访问权限为public更合适。整个实现展示了单向链表的基本原理和操作方法。
2025-12-10 11:31:19
334
原创 双指针与 力扣双指针算法题 简单 26移除元素
双指针算法在数组操作中应用广泛,主要包括两种典型场景:1)字符串逆序,通过首尾指针交换元素并逐步向中间移动;2)奇偶分组,通过指针遍历将偶数置于左侧、奇数置于右侧。算法优化时可使用位运算(&0x1)判断奇偶性。在移除元素问题中,双指针通过交换或覆盖操作高效处理特定值,保持O(n)时间复杂度和O(1)空间复杂度。关键点在于指针移动条件和交换逻辑的设定,不同实现方式(如for循环或while循环)都能达到目标。
2025-10-25 23:05:53
494
原创 数据结构Vecotr(数组)
本文主要介绍了C/C++中数组和动态数组(vector)的底层实现原理及操作接口封装。文章首先对比了数组和链表的存储结构差异,强调数组基于连续内存的特性使其随机访问效率为O(1)。随后详细讲解了数组的基本操作实现,包括尾插(push_back)、尾删(pop_back)、插入(insert)、删除(erase)等核心方法,重点分析了插入删除时元素移动的逻辑。文章还介绍了动态扩容机制,通过expand方法实现容量倍增。最后给出了一个完整的Array类实现示例,展示了如何封装数组操作接口,并演示了各种操作方法的
2025-10-24 23:54:38
836
原创 2025idea如何新建一个web项目配置tomcat
本文介绍了在IDEA 20252.3最新版中配置Apache Tomcat 9.0的详细步骤:包括从官网下载64位Windows版、解压到指定目录、创建Java项目、修改logging配置文件编码(UTF-8改为GBK)、添加Tomcat服务器路径(如D:\apache-tomcat-9.0.110)、设置项目web目录等关键操作流程,最终完成Tomcat服务器配置并实现项目启动。
2025-10-10 14:36:14
1313
原创 半夜更新vs2026或者下载速度特别慢问题解决
本文介绍了如何通过修改hosts文件提升下载速度的方法。首先使用站长工具查询目标网站的DNS记录,找到适合自己网络运营商的最优IP地址。然后定位到系统hosts文件(位于C:\Windows\System32\drivers\etc),在文件末尾添加查询到的IP地址和域名对应关系。最后以管理员身份运行cmd或Windows Terminal,执行ipconfig/flushdns命令刷新DNS缓存。完成这些步骤后,下载速度将得到显著提升。该方法适用于需要优化特定网站访问速度的情况。
2025-10-09 00:49:28
809
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅