美文网首页数据结构
2023-03-28 数据结构【 一】 基本数据结构存储表示

2023-03-28 数据结构【 一】 基本数据结构存储表示

作者: ForestPei | 来源:发表于2023-03-27 17:05 被阅读0次

    1.1 存储表示

    1.1.1 线性表

    声明类型;定义长度

    #define OK 1
    #define ERROR 0
    #define OVERFLOW -2
    typedef int Status;     //Status 是函数返回值类型,其值是函数结果状态代码。
    typedef int ElemType;    //ElemType 为可定义的数据类型,此设为int类型
    
    #define MAXSIZE 100         //顺序表可能达到的最大长度
    typedef struct{
        ElemType *elem;         //存储空间的基地址
        int length;             //当前长度
    }SqList;
    

    1.1.2 单链表

    #define OK 1
    #define ERROR 0
    #define OVERFLOW -2
    typedef int Status;     //Status 是函数返回值类型,其值是函数结果状态代码。
    typedef int ElemType;    //ElemType 为可定义的数据类型,此设为int类型
    
    typedef struct LNode
    {
        ElemType data;                          //结点的数据域
        struct LNode *next;                     //结点的指针域
    }LNode,*LinkList;                           //LinkList为指向结构体LNode的指针类型
    

    声明LNode结构类型;
    并设置*next指针;

    1.1.3 双链表

    typedef struct DuLNode
    {
        ElemType data;                          //结点的数据域
        struct DuLNode *prior;
        struct DuLNode *next;                   //结点的指针域
    }DuLNode,*DuLinkList;                       //DuLinkList为指向结构体DuLNode的指针类型
    

    双向链表,比单向链表多了个prior 指针;

    1.1.4 顺序栈

    typedef int Status;
    typedef int SElemType;
    typedef struct{
        SElemType *base;
        SElemType *top;
        int stacksize;
    }SqStack;
    

    SElemType base ,top 栈指针;
    并指定栈长度stacksize;

    1.1.5 链栈

    typedef int Status;
    typedef int SElemType;
    typedef struct SNode{
        SElemType data;
        struct SNode *next;
    }SNode,*LinkStack;
    

    SElemType data 数据域
    struct SNode *next;指定向下指针;

    1.1.6 循环队列

    typedef struct{
        QElemType *base;//初始化时动态分配存储空间
        int front;//头指针
        int rear;//尾指针
    }SqQueue;
    

    初始化动态分布存储空间
    指定头尾指针;

    1.1.7 链队

    typedef struct QNode{
        QElemType data;
        QNode *next;
    }QNode,*QueuePtr;
    typedef struct{
        QueuePtr front;
        QueuePtr rear;
    }LinkQueue;
    

    QNode 含有指针的节点 链中必有指针;
    队列 的实现通过front,rear 指定首尾

    相关文章

      网友评论

        本文标题:2023-03-28 数据结构【 一】 基本数据结构存储表示

        本文链接:https://www.haomeiwen.com/subject/ypyzrdtx.html