Mundarija:

C++ da bog'langan ro'yxatda pufakchali tartibni qanday yaratasiz?
C++ da bog'langan ro'yxatda pufakchali tartibni qanday yaratasiz?

Video: C++ da bog'langan ro'yxatda pufakchali tartibni qanday yaratasiz?

Video: C++ da bog'langan ro'yxatda pufakchali tartibni qanday yaratasiz?
Video: Bog'langan jadvallardagi ma'lumotlarni ADOTablelar yordamida ko'rsatish | Dasturlash 2024, May
Anonim

Pufakchani saralash uchun biz quyidagi amallarni bajaramiz:

  1. 1-qadam: 2 ta qo'shni tugundagi ma'lumotlar o'sish tartibida yoki yo'qligini tekshiring. Agar yo'q bo'lsa, ikkita qo'shni tugunning ma'lumotlarini almashtiring.
  2. 2-qadam: 1-o'tish oxirida eng katta element ro'yxat oxirida bo'ladi.
  3. 3-qadam: Barcha elementlar boshlanganda biz tsiklni tugatamiz.

Shu tarzda, C++ da bog'langan ro'yxatda qabariq tartiblash qanday yaratiladi?

Pufakchani saralash uchun biz quyidagi amallarni bajaramiz:

  1. 1-qadam: 2 ta qo'shni tugundagi ma'lumotlar o'sish tartibida yoki yo'qligini tekshiring. Agar yo'q bo'lsa, ikkita qo'shni tugunning ma'lumotlarini almashtiring.
  2. 2-qadam: 1-o'tish oxirida eng katta element ro'yxat oxirida bo'ladi.
  3. 3-qadam: Barcha elementlar boshlanganda biz tsiklni tugatamiz.

Xuddi shunday, pufakchali sort C++ nima? Pufakcha saralash . In pufakchali tartiblash , elementlar kabi saralangan ular asta-sekin " qabariq " (yoki ko'tarilish) massivdagi to'g'ri joylashuviga, masalan pufakchalar bir stakan soda ichida ko'tariladi. The pufakchali tartiblash massivning qo'shni elementlarini qayta-qayta taqqoslaydi. Birinchi va ikkinchi elementlar taqqoslanadi va tartibsiz bo'lsa almashtiriladi.

Ikkinchidan, bog'langan ro'yxatdagi ma'lumotlarni qanday saralaysiz?

Algoritm

  1. Ikki atributga ega bo'lgan tugun sinfini yarating: ma'lumotlar va keyingi.
  2. Ikki atributga ega bo'lgan SortList boshqa sinfini yarating: bosh va quyruq.
  3. addNode() ro'yxatga yangi tugun qo'shadi:
  4. sortList() roʻyxat tugunlarini oʻsish tartibida tartiblaydi.
  5. display() ro'yxatda mavjud tugunlarni ko'rsatadi:

Bog'langan ro'yxat uchun eng yaxshi tartiblash algoritmi qaysi?

Birlashtirish tartibi ko'pincha bog'langan ro'yxatni saralash uchun afzallik beriladi. Bog'langan ro'yxatning sekin tasodifiy kirish ishlashi ba'zi boshqa algoritmlarni (masalan, tez saralash ) yomon ishlaydi va boshqalar (masalan yig'indisi ) mutlaqo mumkin emas. Bosh bog'langan ro'yxatning saralanadigan birinchi tugun, headRef esa boshga ko'rsatgich bo'lsin.