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



Download 2 Mb.
bet71/232
Sana29.03.2022
Hajmi2 Mb.
#516205
TuriЗадача
1   ...   67   68   69   70   71   72   73   74   ...   232
Bog'liq
Т. А. Павловская C C . Программирование на языке высокого уровня

Динамические структуры данных


Ëþá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âëяåìûå яçûêîì C++, — îñíîâíûå è ñî- ñòaâíûå òèïû. Íaèáîëåå ÷añòî â ïðîãðaììaõ èñïîëüçóþòñя ìaññèâû, ñòðóêòóðû è èõ ñî÷åòaíèя, íaïðèìåð, ìaññèâû ñòðóêòóð, ïîëяìè êîòîðûõ яâëяþòñя ìaññèâû è ñòðóêòóðû.
Ïaìяòü ïîä äaííûå âûäåëяåòñя ëèáî ía ýòaïå êîìïèëяöèè (â ýòîì ñëó÷aå íåîá- õîäèìûé îáúåì äîëæåí áûòü èçâåñòåí äî ía÷aëa âûïîëíåíèя ïðîãðaììû, òî åñòü çaäaí â âèäå êîíñòaíòû), ëèáî âî âðåìя âûïîëíåíèя ïðîãðaììû ñ ïîìîùüþ îïå- ðaöèè new èëè ôóíêöèè mallOC (íåîáõîäèìûé îáúåì äîëæåí áûòü èçâåñòåí äî ðañïðåäåëåíèя ïaìяòè). Â îáîèõ ñëó÷aяõ âûäåëяåòñя íåïðåðûâíûé ó÷añòîê ïa- ìяòè.
Åñëè äî ía÷aëa ðaáîòû ñ äaííûìè íåâîçìîæíî îïðåäåëèòü, ñêîëüêî ïaìяòè ïî- òðåáóåòñя äëя èõ õðaíåíèя, ïaìяòü âûäåëяåòñя ïî ìåðå íåîáõîäèìîñòè îòäåëü- íûìè áëîêaìè, ñâяçaííûìè äðóã ñ äðóãîì ñ ïîìîùüþ óêaçaòåëåé. Òaêîé ñïîñîá îðãaíèçaöèè äaííûõ íaçûâaåòñя äèíaìè÷åñnèìè ñòðónòóðaìè äaííûõ, ïîñêîëü- êó èõ ðaçìåð èçìåíяåòñя âî âðåìя âûïîëíåíèя ïðîãðaììû. Èç äèíaìè÷åñêèõ ñòðóêòóð â ïðîãðaììaõ ÷aùå âñåãî èñïîëüçóþòñя ëèíåñíûå ñïèñnè, ñòånè, î÷åðåäè è áèí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âëяåò ñîáîé ñòðóêòóðó (â ñìûñëå struCt), ñîäåðæaùóþ ïî êðaéíåé ìåðå äâa ïîëя: äëя õðaíåíèя äaííûõ è äëя óêaçaòåëя. Ïîëåé äaííûõ è óêaçaòåëåé ìîæåò áûòü íåñêîëüêî. Ïîëя äaí- íûõ ìîãóò áûòü ëþáîãî òèïa: îñíîâíîãî, ñîñòaâíîãî èëè òèïa óêaçaòåëü. Îïèña- íèå ïðîñòåéøåãî ýëåìåíòa (êîìïîíåíòû, óçëa) âûãëяäèò ñëåäóþùèì îáðaçîì:
struCt NOde{
Data d; // òèï äaííûõ Data äîëzåí áûòü îïðåäåëåí ðaíåå NOde *p;
};
Ðaññìîòðèì ðåaëèçaöèþ îñíîâíûõ îïåðaöèé ñ äèíaìè÷åñêèìè ñòðóêòóðaìè äaí- íûõ (â äaëüíåéøåì áóäåò ïðèâåäåí ïðèìåð ðåaëèçaöèè ñïèñêa â âèäå øaáëîía êëañña, ñì. ñ. 211).



Download 2 Mb.

Do'stlaringiz bilan baham:
1   ...   67   68   69   70   71   72   73   74   ...   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