Ямар төрлийн цуглуулгууд хийдэг вэ?
Ямар төрлийн цуглуулгууд хийдэг вэ?

Видео: Ямар төрлийн цуглуулгууд хийдэг вэ?

Видео: Ямар төрлийн цуглуулгууд хийдэг вэ?
Видео: СОНЖОО! ЯМАР СҮНСНИЙ ЭЛЕМЕНТ ТАНЫ БИЕД ОРШДОГ ВЭ? 2024, May
Anonim

ашиглах. Цуглуулга анги. Үүнд дассан ангилах -ийн заасан жагсаалтад байгаа элементүүд Цуглуулга өсөх дарааллаар. ангилах () арга гэхдээ энэ нь үүнээс илүү дээр юм ангилж болно Массивын элементүүд, түүнчлэн холбогдсон жагсаалт, дараалал болон бусад олон зүйлс.

Ийм байдлаар Цуглуулга ангилах нь хэрхэн ажилладаг вэ?

Арга Цуглуулга . ангилах ажил Энэ нь үнэндээ авдаг гэсэн үг юм цуглуулга үндсэн массив ба түүнийг дууддаг ангилах арга ангилах бодит элементүүд. Тэр ангилах Java-ийн ашигладаг алгоритм бол аянга хурдан Timsort юм. Арга нь хүчингүй болсон тул буцаана төрөл нь цуглуулга байрандаа.

Үүнтэй адилаар, цуглуулгад эрэмбэлэгдсэн, эрэмбэлэгдсэн гэж юу гэсэн үг вэ? Ан захиалгат цуглуулах хэрэгсэл -ийн элементүүд нь цуглуулга тодорхой байна захиалга . The захиалга үнэ цэнээс хамааралгүй байна. А ангилсан цуглуулах гэсэн үг зөвхөн тэр биш цуглуулга хийдэг байна захиалга , Гэхдээ захиалга элементийн утгаас хамаарна. Жишээ нь SortedSet юм.

Дараа нь цуглуулгад ямар эрэмбэлэхийг ашигладаг вэ гэсэн асуулт гарч ирнэ.

Тиймээс, эцэст нь, Цуглуулга # ангилах массив# ашигладаг ангилах (объект элементүүдийн) тайзны ард. Энэхүү хэрэгжилт нь нэгтгэлийг ашигладаг ангилах эсвэл тим ангилах . Javadoc-ийн дагуу зөвхөн анхдагч массивууд байдаг эрэмбэлсэн Quicksort ашиглан. ангилах бололтой ашиглах адилхан ангилах алгоритмыг массив хэлбэрээр.

Цуглуулгууд нь CompareTo ашигладаг уу?

Хэрэв ямар нэгэн анги Java хэл дээр Comparable интерфэйсийг хэрэгжүүлдэг бол цуглуулга тухайн объектын аль нэг нь List эсвэл Array байж болно эрэмбэлсэн автоматаар Цуглуулга ашиглах . ангилах () арга болон объектууд байх болно эрэмбэлсэн тэнд үндэслэсэн байгалийн захиалга тодорхойлсон Харьцуулах арга.

Зөвлөмж болгож буй: