我正在使用Multiway樹的有界版本。我可以創建我的元素類型並實例化一個我的類型的樹,但是如何創建根?我看到幾種形式的Insert_Child。我所有使用Insert_Child的嘗試都失敗了,因爲我使用No_Element作爲Parent或Before參數。Ada 2012多路樹,創建根節點
有沒有人有使用他們可以指向我的多路樹包的例子?
我使用免費的Ada版本,如果它很重要。
我正在使用Multiway樹的有界版本。我可以創建我的元素類型並實例化一個我的類型的樹,但是如何創建根?我看到幾種形式的Insert_Child。我所有使用Insert_Child的嘗試都失敗了,因爲我使用No_Element作爲Parent或Before參數。Ada 2012多路樹,創建根節點
有沒有人有使用他們可以指向我的多路樹包的例子?
我使用免費的Ada版本,如果它很重要。
創建Tree
類型的變量;有一個在臂A hint,
有一個特殊的節點,所述根,這始終是存在並且具有 既不關聯的元素值也沒有任何父節點。根節點 提供了將節點添加到其他空樹的位置,並且 代表樹的基礎。其輸出
喜歡的東西
with Ada.Containers.Multiway_Trees;
with Ada.Text_IO; use Ada.Text_IO;
procedure Mway is
package Trees is new Ada.Containers.Multiway_Trees (Integer);
T : Trees.Tree;
C : Trees.Cursor;
begin
C := T.Root;
T.Append_Child (Parent => C, New_Item => 1);
T.Append_Child (Parent => C, New_Item => 2);
for E of T loop
Put_Line (E'Img);
end loop;
end Mway;
是
1
2
謝謝你的答案,但你的根的描述不具有元素可能會導致我改變我的設計。我期望構建由子組件等構成的組件樹。我想將每個元素的屬性(例如質量或價格)彙總到程序集的總數中,並將其存儲在根目錄中。
我想我可以讓我創建的第一個節點是組件總數的佔位符,然後將真正的樹分支關閉。看起來笨拙但可行。
/s/Bob
是的,根函數是你的朋友函數根(容器:樹)返回光標; – egilhh