Агуулгын хүснэгт:

C++ хэл дээрх холбосон жагсаалтад хөөсний эрэмбийг хэрхэн үүсгэх вэ?
C++ хэл дээрх холбосон жагсаалтад хөөсний эрэмбийг хэрхэн үүсгэх вэ?

Видео: C++ хэл дээрх холбосон жагсаалтад хөөсний эрэмбийг хэрхэн үүсгэх вэ?

Видео: C++ хэл дээрх холбосон жагсаалтад хөөсний эрэмбийг хэрхэн үүсгэх вэ?
Видео: 3 Лекц: Хоёртын бүтэн мод (ICSI202-Өгөгдлийн бүтэц, МУИС-ХШУИС) 2024, May
Anonim

Бөмбөлөг эрэмбэлэхийн тулд бид дараах алхмуудыг хийнэ

  1. Алхам 1: Зэргэлдээх 2 зангилааны өгөгдөл өсөх дарааллаар байгаа эсэхийг шалгана уу. Хэрэв үгүй бол зэргэлдээх 2 зангилааны өгөгдлийг солино уу.
  2. Алхам 2: 1-р дамжуулалтын төгсгөлд хамгийн том элемент нь жагсаалтын төгсгөлд байх болно.
  3. Алхам 3: Бүх элементүүд эхлэхэд бид гогцоог дуусгана.

Ийм маягаар C++ хэл дээрх холбосон жагсаалтад хөөсний сортыг хэрхэн үүсгэх вэ?

Бөмбөлөг эрэмбэлэхийн тулд бид дараах алхмуудыг хийнэ

  1. Алхам 1: Зэргэлдээх 2 зангилааны өгөгдөл өсөх дарааллаар байгаа эсэхийг шалгана уу. Хэрэв үгүй бол зэргэлдээх 2 зангилааны өгөгдлийг солино уу.
  2. Алхам 2: 1-р дамжуулалтын төгсгөлд хамгийн том элемент нь жагсаалтын төгсгөлд байх болно.
  3. Алхам 3: Бүх элементүүд эхлэхэд бид гогцоог дуусгана.

Үүний нэгэн адил хөөсөөр ангилах C++ гэж юу вэ? Бөмбөлөг эрэмбэлэх . Дахь хөөс ангилах , элементүүдийн хувьд эрэмбэлсэн тэд аажмаар" хөөс " (эсвэл дээшлэх) массив дахь зөв байрлал руу нь оруулах гэх мэт бөмбөлөгүүд нэг аяга хийжүүлсэн ундаанд ургаж байна. The хөөс ангилах массивын зэргэлдээх элементүүдийг дахин дахин харьцуулдаг. Эхний болон хоёр дахь элементүүдийг харьцуулж, дараалалгүй бол солино.

Хоёрдугаарт, та холбосон жагсаалт дахь өгөгдлийг хэрхэн эрэмбэлэх вэ?

Алгоритм

  1. Дата ба дараагийн гэсэн хоёр шинж чанартай зангилаа үүсгэнэ үү.
  2. Толгой ба сүүл гэсэн хоёр шинж чанартай SortList өөр анги үүсгэ.
  3. addNode() нь жагсаалтад шинэ зангилаа нэмнэ:
  4. sortList() нь жагсаалтын зангилаануудыг өсөх дарааллаар эрэмбэлнэ.
  5. display() нь жагсаалтад байгаа цэгүүдийг харуулах болно:

Холбогдсон жагсаалтын хамгийн сайн эрэмбэлэх алгоритм аль нь вэ?

Нэгтгэх төрөл ихэвчлэн холбосон жагсаалтыг эрэмбэлэхийг илүүд үздэг. Холбоостой жагсаалтын санамсаргүй хандалтын ажиллагаа удаан байгаа нь бусад алгоритмуудыг (жишээ нь хурдан ангилах ) муу гүйцэтгэлтэй, бусад (жишээ нь heapsort ) бүрэн боломжгүй. Толгойг холбосон жагсаалтын эрэмбэлэх эхний зангилаа, headRef-ийг толгой руу чиглүүлэх заагч гэж үзье.