373
14-ТАРАУ
Алгоритмдер
STL кітапханасының алгоритмдері контейнерлермен жəне басқа да
тізбектермен жұмыс істеуге арналған. Əрбір алгоритм шаблон немесе функ-
ция шаблондарының жиынтығы түрінде жүзеге асырылған, сондықтан олар
тізбектердің алуан түрлерімен жəне əртүрлі типтегі мəліметтермен жұмыс
істей алады. Алгоритмді қолданушының нақты талаптарына сəйкес оны бап-
тау үшін функционалдық объектілер (363 б. қараңыз) қолданылады.
Стандартты кітапхананың басқа құралдары сияқты, стандартты
алгоритмдерді қолдану əрекеті де программалаушыны тізбектерді өңдеу
циклдерін жазудан, оларды жөндеп түзетуден жəне құжаттаудан құтқарады,
осы арқылы программадағы қателіктер саны азаяды, оның құрылу уақыты
қысқарады жəне ол оқуға жеңіл əрі ықшамды болады.
Стандартты алгортимдердің жариялау
тақырыптық фай-
лында, ал стандартты функционалдық объектілердің жарияланымдары
файлында орналасқан.
Барлық STL алгоритмдерін төрт категорияға бөліп қарастыруға болады:
□
тізбектерді модификацияламай орындалатын операциялар;
□
тізбектермен орындалатын модификациялаушы операциялар;
□
сұрыптаумен байланысты алгоритмдер;
□
пирамидалармен жəне жиындармен жұмыс істеу алгоритмдері.
Сонымен қатар, кітапханада жалпыланған түрдегі сандық алгоритмдер
бар, олардың жарияланымдары
файлында орналасады («Сандық
есептеулерге арналған құралдар» атты 15-тарауды қараңыз, 401 б.).
Алгоритмге параметр ретінде өңделетін тізбектің басы мен соңын
анықтайтын итераторлар беріледі. Итераторлардың түрі осы алгоритмді
қолдануға болатын контейнерлер типін анықтайды. Мысалы, сұрыптау
алгоритмі (
sort
) өз жұмысы үшін кездейсоқ қол жеткізу итераторын та-
лап етеді, сондықтан ол
list
контейнерімен жұмыс істмейді. Алгоритмдер
тізбектің шекараларынан шығып кету мүмкіндігін тексермейді.
Келесі бөлімдердің басында келтірілген кестелер STL стандартты
алгоритмдерінің мүмкіндіктері туралы түсінік береді. Ары қарай əрбір
алгоритмнің сипаттамасы берілген. Қолданушы анықтаған мəліметтер
типтерін қамтитын тізбектер үшін өзіндік критерийлерді тағайындауға бола-
тынын ескерген жөн.
Алгоритм шаблондарының параметрлерін сипаттау кезінде келесідей
қысқартулар қолданылады:
Достарыңызбен бөлісу: