Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Динамические структуры данных (Доступ к данным динамических структурах)

Содержание:

Введение

Память данные выделяется на этапе , либо во выполнения программы помощью операции или функции (необходимый объем быть известен распределения памяти).

Если начала работы данными невозможно , сколько памяти для их , память выделяется мере необходимости блоками, связанными с другом помощью указателей. Такой организации данных динамическими структурами , поскольку их изменяется во выполнения программы. Из структур в чаще всего линейные списки, , очереди и деревья. Они различаются связи отдельных и допустимыми .

Динамические структуры широко и для эффективной работы данными, размер известен, особенно решения задач , поскольку упорядочивание структур не перестановки элементов, сводится к указателей на элементы.

Элемент любой структуры данных собой структуру ( смысле ), , по крайней , два поля: хранения данных для указателя. Поля могут быть типа: основного, или типа .

Цель данной работы – динамических структур и списков, частности.

Задачи работы: исследование понятие и особенности динамичеискх структур данных, исследовать особенности списков в программировании.

Структурно работа из введения, глав, заключения списка используемых .

Глава 1. Понятие и динамических структур

1.1 Определение « структура данных» ее характеристики

Если начала работы данными невозможно , сколько памяти для их , память следует во время программы по необходимости отдельными . Блоки связываются друг другом с указателей. Такой способ данных называется структурой данных, она размещается динамической памяти ее размер во время программы.

В языке ++ средства создания структур данных, позволяют во выполнения программы объекты, выделять них память, память, когда них исчезает .

Динамические данных данных, которые освобождается необходимости.

Динамические в в огут число элементов, характер элементами. учитывается самих Такая как размера отношений приводит что создания программа- может всей целом фиксированного , также сопоставить компонентами тные Для адресации данных называемый памяти, память элементы момент, "начинают " процессе а время . в фиксированный яти динамически а элемента.

Динамическая характеризуется

  • она имени;
  • память выполнения ;
  • количество не ;
  • размерность в программы;
  • выполнения меняться имосвязи

Каждой сопоставляется еременная значение объекта), оторой динамической .

Сами величины описания поскольку компиляции них Во выделяется статические . – статические , они

Необходимость данных в

  • Используются большой массивы необходимые частях совершенно в .
  • В работы массив, иная , которой широких трудно .
  • Когда данных, программе, сегмента .

Динамические по , отсутствием элементов памяти, непредсказуемостью элементов) процессе тки.

Поскольку располагаются дсказуемым , элемента не вычислен начального элемента. между структуры через явные элементами. в связным.

Достоинства данных обеспечения структур:

  • ограничивается объемом
  • при последовательности уры данных а указателей;
  • структуры.

Вместе связное лишено основными являются :

  • на для друг расходуется
  • доступ связной быть ктивным .

Последний является и ограничивается представления . в для любого во достаточно элемента содержащейся ескрипторе связного элемента быть исходных . связной или позволяющих структуру, требуемого следованием указателей емента . связное не задачах, структура вид массива по но в , логическая другой доступа , деревья

Порядок динамическими следующий:

  • место памяти);
  • помощи ;
  • удалить место).

Классификация данных

Во требуется у урация, могут процессе Для динамические К

  • однонаправленные )
  • двунаправленные )
  • циклические ;
  • стек;
  • очередь;

Они отдельных Динамическая несмежные памяти.

Динамические применяют более с , которых , для сортировки.

1.2 Объявление динамических структур

Каждая структуры запись, , крайней , поля: типа , второе данных. запись не , несколько несколько Поле переменной, структурой. изобразим в :

где Р ; данные.

Элемент состоит полей:

  • (поля ), котором данные, и в информационное является – , динамической т..;
  • адресного ( в один есколько элемент элементами ;

Объявление динамической выглядит

_типа

{

;

поле;

};

Например:

{

; //информационное

};

Информационных адресных быть так ько.

Рассмотрим динамическую , указанную 1:


Рис. .  представление

Данная состоит элементов. имеет , , связан своего поле равно , так последнего, поле оторого , поле , адресу, признаком Здесь , указывает элемент .

1.3 Работа памятью при динамических структур

Элемент каждый либо , отсутствовать поэтому динамическим. структуры переменные, средством динамическим их указатель ) место расположения Таким динамическим специальным помощью .

Указатель адрес в яти. формируется слов: и . указатель и сегменте 2).

Для динамической хранить адрес структуры. динамической адрес ним , двигаясь начального получить любому структуры.

Рис. .  указателя

Доступ динамических с "стрелка" операцией элемента адресуемого . обеспечивает структуры ее же ипа. применения следующий:

УказательНаСтруктуру->

Операции " двуместная. для элементу, операндом, которую операнд. операнда указатель а правого этой .

Например:

->;

->;

Имея с , могут вне , и " ее , создавать различные .

Однако помнить, с замедляет поскольку величине два : ищется , по величина.

1. с динамических

В в использовать ктуры памятью образом. производится операции с функции ). динамической операцией функцией .

Например, динамическую с полями , , память на , исвоим и

*;

;

;

-> ""; значения

-> ;

-> ;

; освобождение

Глава 2. Списки

2.1 Линейный список

Часто надо размер которых в Динамические ивы выручают, нельзя , памяти – в Например, и , слова каком нем , эти расставить

В данные которые отдельные , с Каждый () из памяти: и
.

Ссылки это этого с элемент В Си ссылок еременныеуказатели. добавлении в выделяется памяти помощью ) связи нта Для в ьзуются

2. список

В каждый всего . определенности , решается анализа определения , в их В случае элемента (длиной 40 и .

Рис.

Каждый ссылку за У элемента содержит . ерять где- переменной) его – списка. объявить типа узел на . представляет , содержит - и такой Правилами Си

[40]; данных

;

; ссылка узел

};

; тип узел

В будем , указатель начало , есть, виде

;

Первая » названии от указатель .) начале нет элемента, указатель адрес .

2.2 Создание списка

Для чтобы к необходимо , есть под запомнить блока. , надо списку соответствующий , записано . Составим новый памяти его . внимание, данных используется полям указатель.

[]

{

; указатель новый узел

(->, //

-> 1; слов 1

-> ; следующего

; результат адрес

}

После надо списку в в ).

2.3 Добавление узла

Добавление в

При надо ) овить голову и ) голову новый .

Рис.

По процедура . начала в . и начала по , как нового изменяется

&,

{

-> ;

;

}

Добавление после

Дан адрес из в . вставить узел с . операция два :

1) узла следующий

2) данного .

Рис.

Последовательность менять , что поменять узла , потерян узла.

,

{

-> ->;

-> ;

}

Добавление перед

Эта добавления Проблема что линейном называется , что только сторону) чтобы предыдущего , пройти сначала.

Задача к в (если – вставке узла.

( ,

{

;

== {

(, ); вставка узлом

;

}

->!=) за

->;

// узел,

(, ); добавить

}

Такая от »: задан , присутствующий то цикла не .

Существует один если новый заданного , этого , потом данными . образом, будет с а с которые узле , есть задачу. сработает, нового где- программе используется, этому находиться

Добавление списка

Для надо последний , которого , процедурой заданного . надо , список .

( )

{

;

== { если ,

(, ); вставляем

;

}

->) ->; ищем

(, );

}

.3 по

Для чтобы список что- каждым надо головы , указатель , к

; головы

{ дошли

// -нибудь

->; переходим узлу

}

.4 узла

Часто списке (его данные). , требуемого и тогда нчивается списка. к

1) головы ;

2) существует не ), и следующему ;

3) требуемый все просмотрены.

Например, ищет элемент, слову поле с ), адрес , такого

,

{

;

&& ))

->;

;

}

Вернемся алфавитно- Для новое нужное алфавитном ), найти перед вставить Это начала для слово чем Поэтому условие , первого слова.

,

{

;

&& ) 0))

->;

;

}

Эта вернет перед вставить (когда или , надо конец .

2.5

Теперь программу, файл . него -частотный ..

()

{

, ;

*;

[];

;

( ""

)

( "%", // из

<= ;

( ); ищем

!= // нашли ,

-&gt; //

( // узел

( ); ищем

!

,

, );

}

}

();

( ""

;

) // по вывод

, ->, );

->;

}

();

}

В которое прочитанных ). это (чтение или в ), выход .

Сначала это списке функции . просто узла. етилось создается и Затем узлом его .

Когда готов, для используя по , найденные значения .

2.6

Эта также поиском по так надо у а нему Если узел, идет , просто

Рис.

Отдельно когда элемент . удалении которую Отдельно ссматриваем , удаляется списка. адрес совпадает головы надо аписать элемента.

( )

{

;

==

->; удаляем

&& != //

->;

== ; если выход

-&gt; ->;

}

; освобождаем

}

.7

Вы для списка обрабатывать : в добавление , одного элементов. упростить процедуры, два – и Таким списке хотя элемента-барьера, рабочие между

2.8

Многие при односвязным тем, них к Возникает хранить не следующий, на списка. списку одна -указатель, ссылка «» () - ).

Рис.

Каждый полезных ) ссылку ующий (поле ) предыдущий ). его содержат .

[40]; данных

;

, ; соседние

};

; тип на »

В мы что на а на :

, ;

Для списка равны .

.9 с

Добавление списка.

При узла списка

1) существующего его ;

) ссылку первого он ) ;

3) списка узел;

) в было элемента, также новый .

Рис.

По следующая :

( &,

{

-&gt; ;

-&gt; ;

) =

;

! = // элемент

}

Добавление в

Благодаря узла списка аналогично, надо а .

Добавление

Дан и узлов Требуется новый . , операция добавлению списка . Если не вставки два :

1) узла за ) ();

) ссылки так, .

Такой реализует процедура учитывает вставки конец для параметрах на хвост

Рис.

&,

,

{

! )

, , ); конец

-&gt; -&gt;; меняем узла

-&gt; ;

-&gt;-&gt; ; меняем узлов

-&gt; ;

}

}

Добавление выполняется .

Поиск в .

Проход двусвязному выполняться направлениях к для ) от голове.

Удаление

Эта также на хвост , они при элемента . первом соседних они ) как удаляемого было . узел которую освобождается. на Отдельно ли первым узлом .

Рис.

( , , )
{
)
-&gt;; удаляем

-&gt; ;
; удалили
}

-&gt;-&gt; -&gt;;
-&gt;
-&gt;-&gt; -&gt;;
; элемент
}
;
}

2.10

Иногда (односвязный замыкают то указывает элемент, двусвязных ) указывает В «хвоста» имеет , работы надо на », «головой» любой .

Заключение

Итак, структуры процессе памяти не составляющих но связей При изменение элементов . особенность , непостоянство и между , к , на машинного выделить структуры участок размера, не с структуры Для динамических используется , динамическим яти, под выделяется когда существовать" выполнения , не компиляции. случае объем хранения размещаемого , не

Динамическая тем :

  • она
  • ей в программы;
  • структуры фиксироваться;
  • может процессе
  • в программы характер элементами .

Каждой структуре статическая указатель – посредством доступ структуре.

Список литературы

  1. Антонов Назарова Объектно-ориентированные // и 2016
  2. Вылиток Матвеева Динамические нных. практикума. Паскаль: (издание , и ) М.: отдел ВМиК им. М.В.
  3. Кузниченко Динамические данных: . Орск: 2011
  4. Ландовский Структуры Учебное . Новосибирск,
  5. Назаренко, А. Алгоритмы учебное П. Назаренко Самара ПГУТИ,
  6. Никлаус Алгоритмы Новая + Пер.с Ткачев В. М.: Пресс,
  7. Русакова Динамические данных ительные ++ СПб.,
  8. Степович-Цветкова Программная динамических сборник по научно- нции: Научный «Диспут».