Динамические структуры данных (Доступ к данным динамических структурах)
Содержание:
Введение
Память данные выделяется на этапе , либо во выполнения программы помощью операции или функции (необходимый объем быть известен распределения памяти).
Если начала работы данными невозможно , сколько памяти для их , память выделяется мере необходимости блоками, связанными с другом помощью указателей. Такой организации данных динамическими структурами , поскольку их изменяется во выполнения программы. Из структур в чаще всего линейные списки, , очереди и деревья. Они различаются связи отдельных и допустимыми .
Динамические структуры широко и для эффективной работы данными, размер известен, особенно решения задач , поскольку упорядочивание структур не перестановки элементов, сводится к указателей на элементы.
Элемент любой структуры данных собой структуру ( смысле ), , по крайней , два поля: хранения данных для указателя. Поля могут быть типа: основного, или типа .
Цель данной работы – динамических структур и списков, частности.
Задачи работы: исследование понятие и особенности динамичеискх структур данных, исследовать особенности списков в программировании.
Структурно работа из введения, глав, заключения списка используемых .
Глава 1. Понятие и динамических структур
1.1 Определение « структура данных» ее характеристики
Если начала работы данными невозможно , сколько памяти для их , память следует во время программы по необходимости отдельными . Блоки связываются друг другом с указателей. Такой способ данных называется структурой данных, она размещается динамической памяти ее размер во время программы.
В языке ++ средства создания структур данных, позволяют во выполнения программы объекты, выделять них память, память, когда них исчезает .
Динамические данных данных, которые освобождается необходимости.
Динамические в в огут число элементов, характер элементами. учитывается самих Такая как размера отношений приводит что создания программа- может всей целом фиксированного , также сопоставить компонентами тные Для адресации данных называемый памяти, память элементы момент, "начинают " процессе а время . в фиксированный яти динамически а элемента.
Динамическая характеризуется
- она имени;
- память выполнения ;
- количество не ;
- размерность в программы;
- выполнения меняться имосвязи
Каждой сопоставляется еременная значение объекта), оторой динамической .
Сами величины описания поскольку компиляции них Во выделяется статические . – статические , они
Необходимость данных в
- Используются большой массивы необходимые частях совершенно в .
- В работы массив, иная , которой широких трудно .
- Когда данных, программе, сегмента .
Динамические по , отсутствием элементов памяти, непредсказуемостью элементов) процессе тки.
Поскольку располагаются дсказуемым , элемента не вычислен начального элемента. между структуры через явные элементами. в связным.
Достоинства данных обеспечения структур:
- ограничивается объемом
- при последовательности уры данных а указателей;
- структуры.
Вместе связное лишено основными являются :
- на для друг расходуется
- доступ связной быть ктивным .
Последний является и ограничивается представления . в для любого во достаточно элемента содержащейся ескрипторе связного элемента быть исходных . связной или позволяющих структуру, требуемого следованием указателей емента . связное не задачах, структура вид массива по но в , логическая другой доступа , деревья
Порядок динамическими следующий:
- место памяти);
- помощи ;
- удалить место).
Классификация данных
Во требуется у урация, могут процессе Для динамические К
- однонаправленные )
- двунаправленные )
- циклические ;
- стек;
- очередь;
Они отдельных Динамическая несмежные памяти.
Динамические применяют более с , которых , для сортировки.
1.2 Объявление динамических структур
Каждая структуры запись, , крайней , поля: типа , второе данных. запись не , несколько несколько Поле переменной, структурой. изобразим в :
где Р ; данные.
Элемент состоит полей:
- (поля ), котором данные, и в информационное является – , динамической т..;
- адресного ( в один есколько элемент элементами ;
Объявление динамической выглядит
_типа
{
;
поле;
};
Например:
{
; //информационное
};
Информационных адресных быть так ько.
Рассмотрим динамическую , указанную 1:
Рис. . представление
Данная состоит элементов. имеет , , связан своего поле равно , так последнего, поле оторого , поле , адресу, признаком Здесь , указывает элемент .
1.3 Работа памятью при динамических структур
Элемент каждый либо , отсутствовать поэтому динамическим. структуры переменные, средством динамическим их указатель ) место расположения Таким динамическим специальным помощью .
Указатель адрес в яти. формируется слов: и . указатель и сегменте 2).
Для динамической хранить адрес структуры. динамической адрес ним , двигаясь начального получить любому структуры.
Рис. . указателя
Доступ динамических с "стрелка" операцией элемента адресуемого . обеспечивает структуры ее же ипа. применения следующий:
УказательНаСтруктуру->
Операции " двуместная. для элементу, операндом, которую операнд. операнда указатель а правого этой .
Например:
->;
->;
Имея с , могут вне , и " ее , создавать различные .
Однако помнить, с замедляет поскольку величине два : ищется , по величина.
В в использовать ктуры памятью образом. производится операции с функции ). динамической операцией функцией .
Например, динамическую с полями , , память на , исвоим и
*;
;
;
-> ""; значения
-> ;
-> ;
; освобождение
Глава 2. Списки
2.1 Линейный список
Часто надо размер которых в Динамические ивы выручают, нельзя , памяти – в Например, и , слова каком нем , эти расставить
В данные которые отдельные , с Каждый () из памяти: и
.
Ссылки это этого с элемент В Си ссылок еременныеуказатели. добавлении в выделяется памяти помощью ) связи нта Для в ьзуются
В каждый всего . определенности , решается анализа определения , в их В случае элемента (длиной 40 и .
Рис.
Каждый ссылку за У элемента содержит . ерять где- переменной) его – списка. объявить типа узел на . представляет , содержит - и такой Правилами Си
[40]; данных
;
; ссылка узел
};
; тип узел
В будем , указатель начало , есть, виде
;
Первая » названии от указатель .) начале нет элемента, указатель адрес .
2.2 Создание списка
Для чтобы к необходимо , есть под запомнить блока. , надо списку соответствующий , записано . Составим новый памяти его . внимание, данных используется полям указатель.
[]
{
; указатель новый узел
(->, //
-> 1; слов 1
-> ; следующего
; результат адрес
}
После надо списку в в ).
2.3 Добавление узла
Добавление в
При надо ) овить голову и ) голову новый .
Рис.
По процедура . начала в . и начала по , как нового изменяется
&,
{
-> ;
;
}
Добавление после
Дан адрес из в . вставить узел с . операция два :
1) узла следующий
2) данного .
Рис.
Последовательность менять , что поменять узла , потерян узла.
,
{
-> ->;
-> ;
}
Добавление перед
Эта добавления Проблема что линейном называется , что только сторону) чтобы предыдущего , пройти сначала.
Задача к в (если – вставке узла.
( ,
{
;
== {
(, ); вставка узлом
;
}
->!=) за
->;
// узел,
(, ); добавить
}
Такая от »: задан , присутствующий то цикла не .
Существует один если новый заданного , этого , потом данными . образом, будет с а с которые узле , есть задачу. сработает, нового где- программе используется, этому находиться
Добавление списка
Для надо последний , которого , процедурой заданного . надо , список .
( )
{
;
== { если ,
(, ); вставляем
;
}
->) ->; ищем
(, );
}
.3 по
Для чтобы список что- каждым надо головы , указатель , к
; головы
{ дошли
// -нибудь
->; переходим узлу
}
.4 узла
Часто списке (его данные). , требуемого и тогда нчивается списка. к
1) головы ;
2) существует не ), и следующему ;
3) требуемый все просмотрены.
Например, ищет элемент, слову поле с ), адрес , такого
,
{
;
&& ))
->;
;
}
Вернемся алфавитно- Для новое нужное алфавитном ), найти перед вставить Это начала для слово чем Поэтому условие , первого слова.
,
{
;
&& ) 0))
->;
;
}
Эта вернет перед вставить (когда или , надо конец .
Теперь программу, файл . него -частотный ..
()
{
, ;
*;
[];
;
( ""
)
( "%", // из
<= ;
( ); ищем
!= // нашли ,
-> //
( // узел
( ); ищем
!
,
, );
}
}
();
( ""
;
) // по вывод
, ->, );
->;
}
();
}
В которое прочитанных ). это (чтение или в ), выход .
Сначала это списке функции . просто узла. етилось создается и Затем узлом его .
Когда готов, для используя по , найденные значения .
Эта также поиском по так надо у а нему Если узел, идет , просто
Рис.
Отдельно когда элемент . удалении которую Отдельно ссматриваем , удаляется списка. адрес совпадает головы надо аписать элемента.
( )
{
;
==
->; удаляем
&& != //
->;
== ; если выход
-> ->;
}
; освобождаем
}
.7
Вы для списка обрабатывать : в добавление , одного элементов. упростить процедуры, два – и Таким списке хотя элемента-барьера, рабочие между
Многие при односвязным тем, них к Возникает хранить не следующий, на списка. списку одна -указатель, ссылка «» () - ).
Рис.
Каждый полезных ) ссылку ующий (поле ) предыдущий ). его содержат .
[40]; данных
;
, ; соседние
};
; тип на »
В мы что на а на :
, ;
Для списка равны .
.9 с
Добавление списка.
При узла списка
1) существующего его ;
) ссылку первого он ) ;
3) списка узел;
) в было элемента, также новый .
Рис.
По следующая :
( &,
{
-> ;
-> ;
) =
;
! = // элемент
}
Добавление в
Благодаря узла списка аналогично, надо а .
Добавление
Дан и узлов Требуется новый . , операция добавлению списка . Если не вставки два :
1) узла за ) ();
) ссылки так, .
Такой реализует процедура учитывает вставки конец для параметрах на хвост
Рис.
&,
,
{
! )
, , ); конец
-> ->; меняем узла
-> ;
->-> ; меняем узлов
-> ;
}
}
Добавление выполняется .
Поиск в .
Проход двусвязному выполняться направлениях к для ) от голове.
Удаление
Эта также на хвост , они при элемента . первом соседних они ) как удаляемого было . узел которую освобождается. на Отдельно ли первым узлом .
Рис.
( , , )
{
)
->; удаляем
-> ;
; удалили
}
->-> ->;
->
->-> ->;
; элемент
}
;
}
Иногда (односвязный замыкают то указывает элемент, двусвязных ) указывает В «хвоста» имеет , работы надо на », «головой» любой .
Заключение
Итак, структуры процессе памяти не составляющих но связей При изменение элементов . особенность , непостоянство и между , к , на машинного выделить структуры участок размера, не с структуры Для динамических используется , динамическим яти, под выделяется когда существовать" выполнения , не компиляции. случае объем хранения размещаемого , не
Динамическая тем :
- она
- ей в программы;
- структуры фиксироваться;
- может процессе
- в программы характер элементами .
Каждой структуре статическая указатель – посредством доступ структуре.
Список литературы
- Антонов Назарова Объектно-ориентированные // и 2016
- Вылиток Матвеева Динамические нных. практикума. Паскаль: (издание , и ) М.: отдел ВМиК им. М.В.
- Кузниченко Динамические данных: . Орск: 2011
- Ландовский Структуры Учебное . Новосибирск,
- Назаренко, А. Алгоритмы учебное П. Назаренко Самара ПГУТИ,
- Никлаус Алгоритмы Новая + Пер.с Ткачев В. М.: Пресс,
- Русакова Динамические данных ительные ++ СПб.,
- Степович-Цветкова Программная динамических сборник по научно- нции: Научный «Диспут».
- Ответственность за нарушение законодательства о рекламе.(Понятие и виды рекламы.)
- Осуществление субъективных гражданских прав
- Роль мотивации в поведении организации (КСК «Антарес»)
- Теории происхождения государства (Норманская теория)
- Нотариат РФ (Нотариат как элемент юрисдикционной системы)
- Управление запасами
- Корпоративная культура в организации (Внедрение корпоративной культуры в организацию)
- Теоретические основания развития творческих способностей младшего школьника ( «Рисуем музыку зимы» )
- Налоговый учет по налогу на имущество организаций (Роль налога на имущество организаций)
- Налоговая система Российской Федерации как фактор экономической стабилизации
- Языки гипертекстовой разметки. (XHTML)
- Анализ и оценка средств реализации структурных методов анализа и проектирования экономической информационной системы (Метод модулирования –DFD)