new
операциясының немесе
malloc
функциясының (қажетті жады көлемі жады-
ны бөлуге дейін белгілі болу керек) көмегімен орындалады. Осы екі жағдайда
да мəліметтерге жадының үздіксіз аймағы бөлінеді.
Егер мəліметтермен жұмыс істеуді бастағанға дейін оларды сақтауға қанша
жады көлемі керек екенін анықтау мүмкін болмаса, онда жады қажеттілігіне
қарай бір-бірімен нұсқауыштар көмегімен байланысқан жеке блоктар бойын-
ша бөлінеді. Мəліметтерді ұйымдастырудың мұндай тəсілі мəліметтердің
динамикалық құрылымы деп аталады, себебі олардың көлемі программаның
орындалу барысында өзгеріп отырады. Программада динамикалық
құрылымдардан көбінесе сызықтық тізімдер, стектер, кезектер жəне би-
нарлы бұтақтар жиі қолданылады. Олар жеке элементтердің бір-бірімен бай-
ланысу тəсілдері жəне орындала алатын операциялары арқылы ажыратылады.
Динамикалық құрылымдар жедел жадының сыбайлас емес аймақтарын да
пайдалануы мүмкін.
Динамикалық құрылымды көлемдері белгілі мəліметтермен тиімді түрде
жұмыс істеу үшін де пайдалануға болады, əсіресе мұны сұрыптау есептерін
шешу үшін кең қолданады, өйткені динамикалық құрылымдарды реттеу
элеметтердің орындарын ауыстыруды қажет етпейді, ол осы элементтерге
нұсқауыштарды өзгертуге негізделген. Мысалы, программаны орындау бары-
сында мəліметтердің көлемді жиымын бірнеше рет сұрыптау керек болса, оны
сызықтық тізім түрінде ұйымдастыру тиімді болып табылады. Мəліметтерді
іздеу кезінде жылдамдық маңыздырақ болатын жағдайларда, мəліметтерді би-
нарлы бұтақтар түрінде бейнелеген жөн.
Кез келген динамикалық мəліметтер құрылымының элементі, кем деген-
де екі өрісі бар (мəліметтерді сақтау үшін жəне нұсқауыш үшін) құрылым
(struct мағынасында) болып табылады. Мəліметтер мен нұсқауыштар өрістері
бірнешеу болуы мүмкін. Мəліметтер өрістері кез келген типте: негізгі, құрама
немесе нұсқауыш типті болуы мүмкін. Қарапайым элементтің (компоненттер,
түйіндер) сипаттамасы келесідей түрде болады:
Достарыңызбен бөлісу: |