README.md

    数据结构

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

    贡献者: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 最小堆排序

    项目简介

    简单数据结构实现

    发行版本

    当前项目没有发行版本

    贡献者 1

    wnma3mz @wnma3mz1

    开发语言

    • C++ 100.0 %