Задача этой книги дать краткое и четкое изложение языка С++ в соответствии со стандар том iso/iec 14882. Она предназначена для студентов, изучающих язык «с нуля»


ГЛАВА 13 Итераторы и функциональные объекты



Download 2 Mb.
bet186/232
Sana29.03.2022
Hajmi2 Mb.
#516205
TuriЗадача
1   ...   182   183   184   185   186   187   188   189   ...   232
Bog'liq
Т. А. Павловская C C . Программирование на языке высокого уровня

ГЛАВА 13


Итераторы

и функциональные объекты


Èòåðaòîðû è ôóíêöèîíaëüíûå îáúåêòû øèðîêî èñïîëüçóþòñя â ñòaíäaðòíîé áèáëèîòåêå. Ïîíяòèå èòåðaòîða áûëî ââåäåíî â ïðåäûäóùåì ðaçäåëå ïðè ðañ- ñìîòðåíèè êîíòåéíåðíûõ êëaññîâ, ñ ôóíêöèîíaëüíûìè îáúåêòaìè ìû âñòðå÷a- ëèñü ïðè ðaññìîòðåíèè î÷åðåäåé ñ ïðèîðèòåòaìè. Ðaññìîòðèì èõ áîëåå ïîäðîáíî äëя òîãî, ÷òîáû ïðèìåíяòü â aëãîðèòìaõ áèáëèîòåêè, êîòîðûå îïèñûâaþòñя äa- ëåå â ðaçäåëå «Àëãîðèòìû» (ñ. 343).


Итераторы


Ïðåäñòaâèì ñåáå äaííûå êaê íåêóþ aáñòðaêòíóþ ïîñëåäîâaòåëüíîñòü. Âíå çaâè- ñèìîñòè îò ñïîñîáa åå îðãaíèçaöèè è òèïa äaííûõ íaì òðåáóþòñя ñðåäñòâa ïîýëå- ìåíòíîãî ïðîñìîòða ïîñëåäîâaòåëüíîñòè è äîñòóïa ê êaæäîìó åå ýëåìåíòó. Èòå- ðaòîð îáåñïå÷èâaåò ýòè ñðåäñòâa ïðîñìîòða.
Èòåðaòîð — ýòî îáîáùåíèå ïîíяòèя óêaçaòåëя äëя ðaáîòû ñ ðaçëè÷íûìè ñòðóê- òóðaìè äaííûõ ñòaíäaðòíûì ñïîñîáîì. Äëя òîãî, ÷òîáû ìîæíî áûëî ðåaëèçîâaòü aëãîðèòìû, êîððåêòíî è ýôôåêòèâíî ðaáîòaþùèå ñ äaííûìè ðaçëè÷íîé ñòðóêòó- ðû, ñòaíäaðò îïðåäåëяåò íå òîëüêî èíòåðôåéñ, íî è òðåáîâaíèя êî âðåìåíè äîñòó- ïa ñ ïîìîùüþ èòåðaòîðîâ.
Ïîñêîëüêó èòåðaòîð яâëяåòñя îáîáùåíèåì ïîíяòèя «óêaçaòåëü», ñåìaíòèêa ó íèõ îäèíaêîâaя, è âñå ôóíêöèè, ïðèíèìaþùèå â êa÷åñòâå ïaðaìåòða èòåðaòîðû, ìî- ãóò òaêæå ðaáîòaòü è ñ îáû÷íûìè óêaçaòåëяìè.
 ñòaíäaðòíîé áèáëèîòåêå èòåðaòîðû èñïîëüçóþòñя äëя ðaáîòû ñ êîíòåéíåðíû- ìè êëaññaìè, ïîòîêaìè è áóôåðaìè ïîòîêîâ.
 èòåðaòîðaõ èñïîëüçóþòñя ïîíяòèя «òåêóùèé óêaçûâaåìûé ýëåìåíò» è «óêa- çaòü ía ñëåäóþùèé ýëåìåíò». Äîñòóï ê òåêóùåìó ýëåìåíòó ïîñëåäîâaòåëüíîñòè âûïîëíяåòñя aíaëîãè÷íî óêaçaòåëяì ñ ïîìîùüþ îïåðaöèé * è ->. Ïåðåõîä ê ñëå-

äóþùåìó ýëåìåíòó — ñ ïîìîùüþ îïåðaöèè èíêðåìåíòa ++. Äëя âñåõ èòåðaòîðîâ îïðåäåëåíû òaêæå ïðèñâaèâaíèå, ïðîâåðêa ía ðaâåíñòâî è íåðaâåíñòâî.


Äaííûå ìîãóò áûòü îðãaíèçîâaíû ðaçëè÷íûì îáðaçîì — íaïðèìåð, â âèäå ìaññè- âa, ñïèñêa, âåêòîða èëè äåðåâa. Äëя êaæäîãî âèäa ïîñëåäîâaòåëüíîñòè òðåáóåòñя ñâîé òèï èòåðaòîða, ïîääåðæèâaþùèé ðaçëè÷íûå íaáîðû îïåðaöèé.  ñîîòâåòñò- âèè ñ íaáîðîì îáåñïå÷èâaåìûõ îïåðaöèé èòåðaòîðû äåëяòñя ía ïяòü naòåãî- ðèñ, îïèñaííûõ â òaáë. 13.1. Ïðèâåäåííûå â òaáëèöå îïåðaöèè îáåñïå÷èâaþòñя ça ïîñòîяííîå âðåìя.
Ïóñòü i è j — èòåðaòîðû îäíîãî âèäa, x — ïåðåìåííaя òîãî æå òèïa, ÷òî è ýëåìåíò ïîñëåäîâaòåëüíîñòè, n — öåëaя âåëè÷èía. Òîãäa äîïóñòèìû âûðaæåíèя:
i++ ++i i=j i ==j i !=j

Download 2 Mb.

Do'stlaringiz bilan baham:
1   ...   182   183   184   185   186   187   188   189   ...   232




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish