# 数据结构-C++描述 **Repository Path**: galangel/data-structure-c-description ## Basic Information - **Project Name**: 数据结构-C++描述 - **Description**: 实现线性表,树与图等数据结构与其相关算法。 持续更新! - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-02-06 - **Last Updated**: 2024-04-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 数据结构-C++描述 ## 介绍 实现线性表,树与图等基础数据结构与其相关算法。 使用C++实现基础数据结构,开发软件为visual studio 2022。 后续会补充C语言版本。 持续更新中! # 使用说明 ## 线性表 ### 顺序表 | 基础版List.cpp | [跳转到代码](https://gitee.com/galangel/data-structure-c-description/blob/master/%E7%BA%BF%E6%80%A7%E8%A1%A8/%E9%A1%BA%E5%BA%8F%E8%A1%A8/%E5%9F%BA%E7%A1%80%E7%89%88List.cpp) | 增删查改 [ ] (重载运算符) | | :------------------------------: | :----------------------------------------------------------: | :-----------------------: | | 完善版List.cpp(也没有那么完善) | [跳转到代码](https://gitee.com/galangel/data-structure-c-description/blob/master/%E7%BA%BF%E6%80%A7%E8%A1%A8/%E9%A1%BA%E5%BA%8F%E8%A1%A8/%E5%AE%8C%E5%96%84%E7%89%88List.cpp) | 增删查改 [ ] 插入拷贝 = | ### 链表 | 不带头结点的单向链表List.cpp | [跳转到代码](https://gitee.com/galangel/data-structure-c-description/blob/master/%E7%BA%BF%E6%80%A7%E8%A1%A8/%E9%93%BE%E8%A1%A8/%E4%B8%8D%E5%B8%A6%E5%A4%B4%E7%BB%93%E7%82%B9%E7%9A%84%E5%8D%95%E5%90%91%E9%93%BE%E8%A1%A8List.cpp) | | | :----------------------------: | :----------------------------------------------------------: | ---- | | 带头结点的单向链表List.cpp | [跳转到代码](https://gitee.com/galangel/data-structure-c-description/blob/master/%E7%BA%BF%E6%80%A7%E8%A1%A8/%E9%93%BE%E8%A1%A8/%E5%B8%A6%E5%A4%B4%E7%BB%93%E7%82%B9%E7%9A%84%E5%8D%95%E5%90%91%E9%93%BE%E8%A1%A8List.cpp) | | | 带头结点的单向循环链表List.cpp | [跳转到代码](https://gitee.com/galangel/data-structure-c-description/blob/master/%E7%BA%BF%E6%80%A7%E8%A1%A8/%E9%93%BE%E8%A1%A8/%E5%B8%A6%E5%A4%B4%E7%BB%93%E7%82%B9%E7%9A%84%E5%8D%95%E5%90%91%E5%BE%AA%E7%8E%AF%E9%93%BE%E8%A1%A8List.cpp) | | | 带头结点的双向链表List.cpp | [跳转到代码](https://gitee.com/galangel/data-structure-c-description/blob/master/%E7%BA%BF%E6%80%A7%E8%A1%A8/%E9%93%BE%E8%A1%A8/%E5%B8%A6%E5%A4%B4%E7%BB%93%E7%82%B9%E7%9A%84%E5%8F%8C%E5%90%91%E9%93%BE%E8%A1%A8List.cpp) | | | 带头结点的双向循环链表.cpp | [跳转到代码](https://gitee.com/galangel/data-structure-c-description/blob/master/%E7%BA%BF%E6%80%A7%E8%A1%A8/%E9%93%BE%E8%A1%A8/%E5%B8%A6%E5%A4%B4%E7%BB%93%E7%82%B9%E7%9A%84%E5%8F%8C%E5%90%91%E5%BE%AA%E7%8E%AF%E9%93%BE%E8%A1%A8.cpp) | | ### 字符串 | ACautomation.cpp | [跳转到代码](https://gitee.com/galangel/data-structure-c-description/blob/master/%E7%BA%BF%E6%80%A7%E8%A1%A8/%E5%AD%97%E7%AC%A6%E4%B8%B2/Algorithm/ACautomation.cpp) | ac自动机 | | :----------------------------: | :----------------------------------------------------------: | :--------------------: | | ACautomation(支持屏蔽中文).cpp | [跳转到代码](https://gitee.com/galangel/data-structure-c-description/blob/master/%E7%BA%BF%E6%80%A7%E8%A1%A8/%E5%AD%97%E7%AC%A6%E4%B8%B2/Algorithm/ACautomation(%E6%94%AF%E6%8C%81%E5%B1%8F%E8%94%BD%E4%B8%AD%E6%96%87).cpp) | 支持屏蔽中文的ac自动机 | | KMP.cpp | [跳转到代码](https://gitee.com/galangel/data-structure-c-description/blob/master/%E7%BA%BF%E6%80%A7%E8%A1%A8/%E5%AD%97%E7%AC%A6%E4%B8%B2/Algorithm/KMP.cpp) | kmp算法 | ### 栈 | 中缀表达式转后缀表达式计算.cpp | [跳转到代码](https://gitee.com/galangel/data-structure-c-description/blob/master/%E7%BA%BF%E6%80%A7%E8%A1%A8/%E6%A0%88/%E4%B8%AD%E7%BC%80%E8%A1%A8%E8%BE%BE%E5%BC%8F%E8%BD%AC%E5%90%8E%E7%BC%80%E8%A1%A8%E8%BE%BE%E5%BC%8F%E8%AE%A1%E7%AE%97.cpp) | 用栈实现中缀表达式转后缀表达式 | | :----------------------------: | :----------------------------------------------------------: | :----------------------------: | | 单向链表实现栈.cpp | [跳转到代码](https://gitee.com/galangel/data-structure-c-description/blob/master/%E7%BA%BF%E6%80%A7%E8%A1%A8/%E6%A0%88/%E5%8D%95%E5%90%91%E9%93%BE%E8%A1%A8%E5%AE%9E%E7%8E%B0%E6%A0%88.cpp) | | ### 队列 | 双向循环链表实现队列.cpp | [跳转到代码](https://gitee.com/galangel/data-structure-c-description/blob/master/%E7%BA%BF%E6%80%A7%E8%A1%A8/%E9%98%9F%E5%88%97/%E5%8F%8C%E5%90%91%E5%BE%AA%E7%8E%AF%E9%93%BE%E8%A1%A8%E5%AE%9E%E7%8E%B0%E9%98%9F%E5%88%97.cpp) | 用双向循环链表实现队列 | | :----------------------: | :----------------------------------------------------------: | :--------------------: | ## 树 ### 线段树 | lazy线段树.cpp | [跳转到代码](https://gitee.com/galangel/data-structure-c-description/blob/master/%E6%A0%91/%E7%BA%BF%E6%AE%B5%E6%A0%91/lazy%E7%BA%BF%E6%AE%B5%E6%A0%91.cpp) | 实现线段树 | | :------------: | :----------------------------------------------------------: | :--------: | ## 图 | dijkstra.cpp | [跳转到代码](https://gitee.com/galangel/data-structure-c-description/blob/master/%E5%9B%BE%E8%AE%BA/algorithm/dijkstra.cpp) | 实现dijkstra算法 | | :----------: | :----------------------------------------------------------: | :--------------: | #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request