线性表--存储结构分析(结构体定义)

  1. // c2-1.h 线性表的动态分配顺序存储结构
  2.  #define LIST_INIT_SIZE 10 // 线性表存储空间的初始分配量
  3.  #define LIST_INCREMENT 2 // 线性表存储空间的分配增量
  4.  struct SqList
  5.  {
  6.    ElemType *elem; // 存储空间基址
  7.    int length; // 当前长度
  8.    int listsize; // 当前分配的存储容量(以sizeof(ElemType)为单位)
  9.  };
  10.  // c2-2.h 线性表的单链表存储结构
  11.  struct LNode
  12.  {
  13.    ElemType data;
  14.    LNode *next;
  15.  };
  16.  typedef LNode *LinkList; // 另一种定义LinkList的方法
  17.  // c2-3.h 线性表的静态单链表存储结构
  18.  #define MAX_SIZE 100 // 链表的最大长度
  19.  typedef struct
  20.  {
  21.    ElemType data;
  22.    int cur;
  23.  }component,SLinkList[MAX_SIZE];
  24.  // c2-4.h 线性表的双向链表存储结构
  25.  typedef struct DuLNode
  26.  {
  27.    ElemType data;
  28.    DuLNode *prior,*next;
  29.  }DuLNode,*DuLinkList;
  30.  // c2-5.h 带头结点的线性链表类型
  31.  typedef struct LNode // 结点类型
  32.  {
  33.    ElemType data;
  34.    LNode *next;
  35.  }*Link,*Position;
  36.  struct LinkList // 链表类型
  37.  {
  38.    Link head,tail; // 分别指向线性链表中的头结点和最后一个结点
  39.    int len; // 指示线性链表中数据元素的个数
  40.  };
  41.  // c2-6.h 抽象数据类型Polynomial的实现
  42.  typedef struct // 项的表示,多项式的项作为LinkList的数据元素
  43.  {
  44.    float coef; // 系数
  45.    int expn; // 指数
  46.  }term,ElemType; // 两个类型名:term用于本ADT,ElemType为LinkList的数据对象名
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章