2013-07-25 31 views

Trả lời

5

Khi nào bạn sẽ thực hiện thêm thao tác chèn/xóa trong cấu trúc dữ liệu, bạn nên sử dụng Danh sách. Khi bao giờ trong một cấu trúc dữ liệu truy cập của các biến là rất thường xuyên sử dụng một vector.

Tuples là các đối tượng đóng gói các phần tử của các loại khác nhau với nhau trong một đối tượng, giống như đối tượng ghép đôi làm cho các cặp phần tử, nhưng được tổng quát cho bất kỳ số phần tử nào. Về mặt khái niệm, chúng tương tự như các cấu trúc dữ liệu cũ (các cấu trúc giống như C) nhưng thay vì có các thành viên dữ liệu được đặt tên, các phần tử của nó được truy cập theo thứ tự của chúng trong bộ dữ liệu.

6

Tuple thường được trình bày trong Clojure thông qua cấu trúc dữ liệu kết hợp như bản đồ {:name "david" :age 35} hoặc bản ghi.

Một vector ["david" 35] cung cấp truy cập vị trí nhanh (= 35 (nth ["david" 35] 1)) và bạn có thể lưu trữ các loại khác nhau.

Một danh sách ("david" 35) hoặc ("david" "justin" "david") cung cấp từ đầu và traversal nhanh về phía trước truy cập nhanh. Mặc dù nó có thể chứa các loại khác nhau nhưng nó sẽ là phổ biến nhất để nó chứa một loại duy nhất, có thể chứa các bản sao, theo thứ tự xác định. Tương phản với một tập hợp #{"david" "justin"} sẽ không chứa bản sao và được tối ưu hóa để kiểm tra tư cách thành viên/hiện diện.

Danh sách, bộ và bản đồ được sắp xếp duy trì thứ tự các đối tượng sử dụng bộ so sánh.

Khám phá 4clojure và clojuredocs.org. Chúc may mắn!

Các vấn đề liên quan