Мазмұны:

C++ тілінде байланыстырылған тізімде көпіршікті сұрыптауды қалай жасауға болады?
C++ тілінде байланыстырылған тізімде көпіршікті сұрыптауды қалай жасауға болады?

Бейне: C++ тілінде байланыстырылған тізімде көпіршікті сұрыптауды қалай жасауға болады?

Бейне: C++ тілінде байланыстырылған тізімде көпіршікті сұрыптауды қалай жасауға болады?
Бейне: Жахина Р.У. Объектілі бағытталған программалау. 2ИСКО.№9 лекция. Класс үлгілері 2024, Мамыр
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 класын жасаңыз: head және tail.
  3. addNode() тізімге жаңа түйін қосады:
  4. sortList() тізімнің түйіндерін өсу ретімен сұрыптайды.
  5. display() тізімде бар түйіндерді көрсетеді:

Байланыстырылған тізім үшін ең жақсы сұрыптау алгоритмі қайсысы?

Біріктіру сұрыптауы байланыстырылған тізімді сұрыптау үшін жиі таңдалады. Байланыстырылған тізімнің баяу кездейсоқ қол жеткізу өнімділігі кейбір басқа алгоритмдерді жасайды (мысалы жылдам сұрыптау ) нашар жұмыс істейді және басқалары (мысалы үйме сұрыптау ) мүлде мүмкін емес. head сұрыпталатын байланыстырылған тізімнің бірінші түйіні және headRef басына көрсеткіш болсын.