Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Athos1024/DataStructure

Open more actions menu
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

数据结构

来源:数据结构探险系列代码

贡献者:wnma3mz

欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。

目前,只在课程基础上用C++实现了一遍,并加入了堆和平衡二叉树的实现。欢迎提交完善C++版本和其他语言版本。若有疑问,欢迎提issus。

说明

C++在Linux下编译

  1. g++ *.cpp -o outfile
  2. ./outfile

Stack/

栈的实现

名字 功能
MyStack.h 实现了栈的数据结构,并且可拓展
MyStack.cpp 可以不需要编译,因为代码已经转移到了MyStack.h中,为了实现模板
Coordinate.h 实现坐标类,m_iXm_iY
demo.cpp 检验栈的实现
demo2.cpp 引入新的Coordinate.h实现栈
demo3.cpp 实现进制转换
demo4.cpp 实现符号匹配[(){}]

Queue/

队列的实现(环形队列)

名字 功能
MyQueue.h 实现了队列的数据结构,编译的时候需要使用MyQueue.cpp
Customer.h 实现顾客类,m_strNamem_iAge
demo.cpp 检验队列的实现
demo2.cpp 引入Customer.h实现队列

List/

线性表的实现(顺序表单向表

名字 功能
List.h 实现顺序表
List2.h 实现单链表
Node.h 实现List2.h中需要的Node类,Person类和Node类的指针
Person.h 使用Person类,有两个属性namephone
Coordinate.h 实现坐标类,同stack_demo/
demo.cpp 检验顺序表的实现
demo2.cpp 引入Coordinate.h实现顺序表
demo3.cpp 引入Node.h检验单链表的实现
demo4.cpp 引入Person.h实现单链表

Tree/

树的实现(二叉树数组和二叉树链表)

名字 功能
Tree.h 实现二叉树数组
Tree2.h 实现二叉树链表
Node.h 实现二叉树链表所需要的结点。index索引、data数值、Node *pLChild, *pRChild, *pParent左右孩子父结点
demo.cpp 检验二叉树数组的实现
demo2.cpp 检验二叉树链表的实现
BSTree.h 实现二叉查找树
demo3.cpp 检验二叉查找树的实现
AVLTree.h 平衡二叉树

Map/

图的实现

名字 功能
CMap.h 实现图
Edge.h 实现图所需要的边,nodeIndexAnodeIndexBweightValue,节点A、B的索引及对应边的权值
Node.h 实现图所需要的点,m_cData节点的值,m_bIsVisted改节点是否被访问过
demo.cpp 检验图的实现,深度优先遍历和广度优先遍历
demo2.cpp 检验最小生成树算法的实现,普利姆最小生成树和克鲁斯卡尔最小生成树
demo3.cpp 检验最短路径算法的实现,迪杰斯特拉最短路径和弗洛伊德最短路径

Heap/

堆的实现

名字 功能
Heap.cpp 最小堆排序

About

简单数据结构实现

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.