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



Pdf көрінісі
бет501/642
Дата30.03.2022
өлшемі3,66 Mb.
#29231
түріПрограмма
1   ...   497   498   499   500   501   502   503   504   ...   642
Байланысты:
pavlovskaia-jogargy-dengeili

372

13.4-кесте

Кластар əдістерінің адаптерлері 



Атауы

Объектінің типі

Əрекеті

mem_fun

mem_fun_t

Нұсқауыш арқылы аргументсіз əдісті 

шақырады  

mem_fun

const_mem_fun_t

Нұсқауыш арқылы  аргументсіз 

тұрақтылық əдісті шақырады

mem_fun

mem_fun1_t

Нұсқауыш арқылы  унарлы əдісті 

шақырады

mem_fun_ref

mem_fun_ref_t

Сілтеме арқылы  аргументсіз əдісті 

шақырады 

mem_fun_ref

const_mem_fun_ref_t

Сілтеме арқылы  аргументсіз 

тұрақтылық əдісті шақырады

mem_fun_ref

mem_fun1_ref_t

Сілтеме арқылы унарлы əдісті 

шақырады

mem_fun_ref

const_mem_fun1_ref_t

Сілтеме арқылы унарлы тұрақтылық 

əдісті шақырады 

mem_fun_ref

const_mem_fun1_t

Нұсқауыш  арқылы унарлы 

тұрақтылық əдісті шақырады

Мысал ретінде 



monstr

  класында 



dead

 əдісін анықтайық, ол монстрдың 

(құбыжықтың) тірі немесе өлі екенін анықтайды:

bool dead(){return !health;}

Жоғарыда аталған 



count_if

 алгоритмінің көмегімен 



vector ostrich (100); 

түрінде сипатталған вектордағы шығындар санын келесі оператор арқылы 

есептеуге болады:

cout << count_if(ostrich.begin(), ostrich.end(), 

    

mem_fun_ref(&monstr::dead));



373

14-ТАРАУ

Алгоритмдер

STL кітапханасының алгоритмдері контейнерлермен жəне басқа да 

тізбектермен жұмыс істеуге арналған. Əрбір алгоритм шаблон немесе функ-

ция шаблондарының жиынтығы түрінде жүзеге асырылған, сондықтан олар 

тізбектердің алуан түрлерімен жəне əртүрлі типтегі мəліметтермен жұмыс 

істей алады. Алгоритмді қолданушының нақты талаптарына сəйкес оны бап-

тау үшін  функционалдық  объектілер  (363 б. қараңыз) қолданылады. 

Стандартты кітапхананың басқа құралдары сияқты, стандартты 

алгоритмдерді қолдану əрекеті де программалаушыны тізбектерді өңдеу 

циклдерін жазудан, оларды жөндеп түзетуден жəне құжаттаудан  құтқарады, 

осы арқылы программадағы қателіктер саны азаяды, оның құрылу уақыты 

қысқарады жəне ол оқуға жеңіл əрі ықшамды болады.

Стандартты алгортимдердің жариялау 

 тақырыптық фай-

лында, ал стандартты функционалдық объектілердің жарияланымдары 

  файлында орналасқан.

Барлық STL алгоритмдерін төрт категорияға бөліп қарастыруға болады:

 



тізбектерді модификацияламай орындалатын операциялар;

 



тізбектермен орындалатын модификациялаушы операциялар;

 



сұрыптаумен байланысты алгоритмдер;

 



пирамидалармен жəне жиындармен жұмыс істеу алгоритмдері.

Сонымен қатар, кітапханада жалпыланған түрдегі сандық алгоритмдер 

бар, олардың жарияланымдары 

 файлында орналасады («Сандық 

есептеулерге арналған құралдар» атты 15-тарауды қараңыз, 401 б.).

Алгоритмге параметр ретінде өңделетін тізбектің басы мен соңын 

анықтайтын итераторлар беріледі. Итераторлардың түрі осы алгоритмді 

қолдануға болатын контейнерлер типін анықтайды. Мысалы, сұрыптау 

алгоритмі (

sort

) өз жұмысы үшін  кездейсоқ қол жеткізу итераторын та-

лап етеді, сондықтан ол 

list

 контейнерімен жұмыс істмейді. Алгоритмдер 

тізбектің шекараларынан шығып кету мүмкіндігін тексермейді.

Келесі бөлімдердің басында келтірілген кестелер STL стандартты 

алгоритмдерінің мүмкіндіктері туралы түсінік береді. Ары қарай əрбір 

алгоритмнің сипаттамасы берілген. Қолданушы анықтаған мəліметтер 

типтерін қамтитын тізбектер үшін өзіндік критерийлерді тағайындауға бола-

тынын ескерген жөн.

Алгоритм шаблондарының параметрлерін сипаттау кезінде келесідей 

қысқартулар қолданылады:





Достарыңызбен бөлісу:
1   ...   497   498   499   500   501   502   503   504   ...   642




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

    Басты бет