2013-07-25 32 views

Odpowiedz

5

Kiedy kiedykolwiek będziesz wykonywać więcej operacji wstawiania/usuwania w strukturze danych, powinieneś użyć Listy. Kiedykolwiek w strukturze danych dostęp do zmiennych jest bardzo częsty, należy użyć wektora.

Krotki to obiekty, które spakują elementy różnych typów w jeden obiekt, tak jak obiekty par tworzą pary elementów, ale są uogólnione dla dowolnej liczby elementów. Pod względem koncepcyjnym są one podobne do zwykłych starych struktur danych (C-podobnych struktur), ale zamiast mieć nazwanych członków danych, ich elementy są dostępne przez ich kolejność w krotce.

6

Krotek zazwyczaj jest reprezentowany w Clojure przez asocjacyjną strukturę danych, taką jak mapa {:name "david" :age 35} lub rekord.

Wektor ["david" 35] oferuje szybki dostęp pozycyjny (= 35 (nth ["david" 35] 1)) i można przechowywać różne typy.

Lista ("david" 35) lub ("david" "justin" "david") zapewnia szybki dostęp od strony głowy i szybkie przewijanie do przodu. Mimo że może pomieścić różne typy, najczęściej będzie zawierał pojedynczy typ, prawdopodobnie zawierający duplikaty, w ustalonej kolejności. W przeciwieństwie do zestawu #{"david" "justin"}, który nie zawierałby żadnych duplikatów i jest zoptymalizowany do sprawdzania członkostwa/obecności.

Posortowane listy, zestawy i mapy zachowują kolejność obiektów przy użyciu komparatora.

Sprawdź 4clojure i clojuredocs.org. Powodzenia!