zoukankan      html  css  js  c++  java
  • 数据结构常用头文件之类型定义

    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;
    复制代码
  • 相关阅读:
    strlen和sizeof
    函数值传递和地址传递
    指向函数的指针变量
    for循环scanf赋值刷新缓冲区
    指针
    排序简化
    随机数找到最大值
    上楼梯问题
    分布式系统并发情况下会生成多个token
    Swagger 文档生成工具
  • 原文地址:https://www.cnblogs.com/hongdoudou/p/12490985.html
Copyright © 2011-2022 走看看