【正文】
ion Create(i:integer。var x:LabelType。var T1,T2,..,Ti,T:TreeType)。beginNew(T)。 {建T的根結點}T^.Label:=x。T^.Parent:=nil。T^.Right_Sibling:=nil。if i0 then begin T^.Leftmost_Child:=T1。 for k:=1 to i do begin Tk^.Parent:=T。 if ki then Tk^.Right_Sibling:=Tk+1 else Tk^.Right_Sibling:=nil。 end。end。end。說明這個過程首先生成新樹的根結點,其中存儲的數據為x;然后對于每一個Tk,1≤k≤i,將Tk的根結點的父親指向T,將Tk的根結點的右兄弟指向Tk+1(對于k=i的Tk其右兄弟為nil)。這里我們假設輸入的參數Tknil,1≤k≤i。復雜性顯然為O(i)。Label,Root和MakeNull比較簡單,這里就不一一實現了。我們看到,用這種左兒子右兄弟表示法實現樹,可以高效地實現樹的ADT操作,缺點是占用了用來存儲指針的空間。不過我們還是推薦用這種表示法來表示樹。