1、廣義表是線性表的推廣;
2、線性表的n個元素都是單元素;
3、廣義表中的元素不僅可以是乙個單元素,也可以是另乙個廣義表;
結點的定義如下圖:
typedef struct gnode * glist;
struct gnode
uregion;
glist next; //指向下乙個結點
};
可以稍作改進:
typedef enumelemtag; //atom==0,原子;list==1,子表
typedef gnode *glist;
struct gnode
uregion;
glist next; //指向下乙個結點
};
參考:陳越版資料結構教材(廣義表的擴充套件線性鍊錶儲存表示),在嚴蔚敏的教材p109中還有另一種儲存方式--廣義表的頭尾鍊錶儲存表示,只需要掌握一種即可; 資料結構 陣列 矩陣 廣義表儲存
陣列的定義 陣列是下標index 和值value 組成的序對的集合。在陣列中,每個有定義的下標都與乙個值對應,這個值稱做陣列元素。每個序對形如 index,value 由於計算機的記憶體結構是一維的,因此用一維記憶體來表示多維陣列,就必須按某種次序將陣列元素排成一列序列,然後將這個線性序列存放在儲存...
資料結構 廣義表
廣義表 lists,又稱列表 是一種非線性的 資料結構 是線性表 的一種推廣。即廣義表中放鬆對錶元素的原子限制,容許它們具有其自身結構。思想 廣義表就類似下圖的結構,他的大體 下圖第一行 相當於乙個帶頭結點的鍊錶,思想,首先要有乙個頭結點為head型別,每乙個廣義表有且只有乙個head,而後每個節點...
資料結構 廣義表
概念 陣列和廣義表可以看成是線性表在下述含義上的擴充套件,表中資料元素本身也是乙個資料結構。廣義表也可以看作是線性表的推廣。1 廣義表的元素可以是子表,而子表的元素還可以包含子表。2 列表可以被其他列表所共享。3 列表可以是乙個遞迴的表,也就是說列表也可以是自身的子表。由於廣義表裡面的資料元素可以具...