線性表--存儲結構分析(結構體定義)

  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的數據對象名
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章