Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»


void stable_sort(Ran fi rst, Ran last, Compare comp)



Pdf көрінісі
бет369/466
Дата20.07.2022
өлшемі3,66 Mb.
#37798
түріПрограмма
1   ...   365   366   367   368   369   370   371   372   ...   466
 
void stable_sort(Ran fi rst, Ran last, Compare comp); 
Бұл алгоритмге кездейсоқ қол жеткізу итераторлары қажет екеніне назар 
аударыңыз. 
Жиындармен жəне пирамид 
алармен жұмыс істеу 
алгоритмдері
Бұл категорияның алгоритмдері жиындарды сұрыптауды жəне пирами-
далармен орындалатын операцияларды жүзеге асырады. Бірінші жағдайда 
сұрыпталған тізбек жиын ретінде қарастырылады, ал бірігу жəне қиылысу 
операцияларының мағынасы дəл жиындар теориясындағымен бірдей болады. 
Келтірілген алгоритмдер кіріс тізбектерін өзгертпейді, ал шығыс тізбектері 
реттеліп орналасады.


396
Пирамида
1
деп барлық элементтері үшін келесі шарттар орындалатын 
тізбектерді айтады:
a[i] ≤ a[2*i + 1] 
a[i] ≤ a[2*i + 2]
10 бүтін саннан тұратын пирамиданың мысалы: 
23 20 21 17 19 18 15 
12 10 14

Анықтамасында айтылып тұрағандай, пирамиданың ең үлкен элементі 
бірінші болып орналасқан, сондықтан пирамидаларды басымдылықтары бар 
тізімдерді (338 б. қараңыз) жүзеге асыру үшін қолданған ыңғайлы, себебі 
мұнда пирамидалық шарттарды сақтай отырып, алғашқы элементті шығарып 
алудың жəне жаңа элемент қосудың тиімді алгоритмдері бар.
Пирамидамен жұмыс істеу үшін кездейсоқ қол жеткізу итераторлары қажет. 
Алгоритмдердің басқа категорияларындағыдай сияқты, мұнда да əрбір 
алгоритмнің екі формасы болады: бірі 
<
операциясын, екіншісі қолданушы 
тағайындаған салыстыру фцнкциясын пайдаланады. 
14.4-кесте. 
Жиындармен жəне пирамидалармен жұмыс істеу алгоритмдері
Алгоритм
Орындалатын функция
includes
Бір жиынды екіншісіне енгізу
set
_intersection
Жиындардың сұрыпталған қиылысуын құру


Достарыңызбен бөлісу:
1   ...   365   366   367   368   369   370   371   372   ...   466




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет