1
我使用'Indefinite_Doubly_Linked_Lists'列表在Ada中編寫了一堆通用數字。Ada:訪問通用列表中的單個元素
Pop &推送操作是用append和delete_last實現的,但是對於需要訪問列表中單個項目的排序方法。
我也只使用附加/添加delete_last /第一,但結果是遠離優雅的(也許不正確)
procedure sort is
elem1: Item;
elem2: Item;
--l is a package-private Indefinite_Doubly_linked_lists'
begin
if Integer(MyList.Length(l)) > 1 then
for i in 0 .. Integer(MyList.Length(l))-1 loop
for j in 0 .. Integer(MyList.Length(l))-1 loop
--Inner sort loop
elem1 := MyList.Element(l.first);
l.Delete_First;
elem2 := MyList.Element(l.first);
l.Delete_First;
if elem1>elem2 then
l.Prepend(elem1);
l.Append(elem2);
else
l.Prepend(elem2);
l.Append(elem1);
end if;
end loop;
end loop;
end if;
end;
我可以訪問單個元素如何制定出一個排序方法(或迭代)從一個泛型類型的列表?
我剛發現了這個解決方案5分鐘前。 (光標一) – NeonMan