• 数据结构与算法C语言所有头文件汇总 —— 持续更新


    header.h

    // 顺序表的结构定义
    #define Maxsize 100
    //const int Maxsize = 100; // 预先定义一个足够大的常数
    
    typedef struct
    {
        int data[Maxsize]; // 存放数组的数组
        int length; // 顺序表的实际长度
    }SeqList; // 顺序表类型名为SeqList
    
    // SeqList L 定义L为一个顺序表

    Linear.h

    // 单链表的类型定义
    typedef struct node
    {
        int data; // 数据域
        struct node *next; // 指针域
    }Node, *LinkList;
    
    // 双向循环链表的类型定义
    struct dbnode
    {
        int data;
        struct dbnode *prior, *next;
    }
    typedef struct dbnode *dbpointer;
    typedef dbpointer DLinkList;

    Seqstack.h

    #define maxsize 6
    //const int maxsize = 6;
    
    // 顺序栈
    
    typedef struct seqstack
    {
        int data[maxsize];
        int top; // 标志栈顶位置的变量
    }SeqStk;

    Lkstack.h

    // 链栈的定义
    typedef struct node
    {
        int data;
        struct node *next;
    }LkStk;

    SeqQue.h

    // 顺序队列类型(普通队列和循环队列类型定义都一样,都如下:)

    #define maxsize 20
    //const int maxsize = 20;

    typedef struct seqque
    {
      int data[maxsize];
      int front, rear;
    }SeqQue;

    typedef struct cycque
    {
      int data[maxsize];
      int front, rear;
    }CycQue;

    LkQueue.h

    // 链队列类型定义
    typedef struct LinkQueueNode
    {
        int data;
        struct LinkQueueNode *next;
    }LkQueNode
    typedef struct LkQueue
    {
        LkQueNode *front, *rear;
    }LkQue;

    BinTree.h

    // 二叉链表的类型定义
    typedef struct btnode
    {
        int data;
        struct btnode *lchild, *rchild; // 指向左右孩子的指针
    }*BinTree;
    
    // 三叉链表的类型定义
    typedef struct ttnode
    {
        int data;
        struct ttnode *lchild, *parent, *rchild;
    }*TBinTree;

    Graph.h

    #define vnum 20
    
    // 邻接矩阵
    typedef struct gp
    {
        int vexs[vnum]; // 顶点信息
        int arcs[vnum][vnum]; // 邻接矩阵
        int vexnum, arcnum; // 顶点数,边数
    }Graph;

    Graphlk.h

    #define vnum 20
    
    // 邻接表的类型定义
    
    // 表结点
    typedef struct arcnode
    {
        int adjvex; // 下一条边的顶点编号
        int weight; // 权值
        struct arcnode *nextarc;
    }ArcNode;
    
    // 表头结点
    typedef struct vexnode
    {
        int vextex; // 顶点编号
        ArcNode *firstarc; // 指向第一条边的指针
    }AdjList[vnum];
    
    typedef struct gp
    {
        AdjList adjlist;
        int vexnum, arcnum; // 顶点和边数
    }Graph;
  • 相关阅读:
    c++字符串排序
    JAVA实现四则运算的简单计算器
    JAVA图形小动画之简单行星运动
    JAVA多线程编程
    ege图形库之简单贪吃蛇(c++)
    ege图形库之动画排序
    mysql 性能优化方案
    MYSQL 优化常用方法
    [手把手教你] 用Swoft 搭建微服务(TCP RPC)
    php有效防止同一用户多次登录
  • 原文地址:https://www.cnblogs.com/lqcdsns/p/7309562.html
Copyright © 2020-2023  润新知