У вас вопросы?
У нас ответы:) SamZan.net

1Последовательное распределение массив

Работа добавлена на сайт samzan.net: 2016-03-30

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 12.4.2025

Программирование

26.03.2013

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

Существуют 2 способа хранения данных:

1)Последовательное распределение (массив)

****

****

2)Связное распределение (динамические структуры данных) – в общем виде список.

*

*

*

Признак сравнения

Массив

Список

Добавление элемента в конец

Пополняется легко

Пополняется легко

Добавление элементов в середину

Связан со сдвигом большого количества элементов

Легко

Добавление элементов в начало

Сдвиг всего массива

Легко

Удаление элемента из конца

Легко

Легко

Удаление элемента из середины

Связан со сдвигом большого количества элементов

Легко

Удаление элемента из начала

Легко

Легко

Размер одного элемента

Соответствует хранимым данным

Хранимые данные + размер указателя

Максимальный размер

Ограничен способом его объявления

Объёмом свободной памяти

Обращение к элементу по его номеру

Происходит естественным образом

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

Сортировка элементов

Классические алгоритмы

Требует дополнительной обработки

Указатели и основные действия с ними

Указатель – это переменная специального типа, которая может в себе содержать адрес некоторой ячейки памяти.

Указатели бывают 2-х видов:

1) Типизированные

2) Нетипизированные

Каждый указатель может находить в одном из трёх состояний:

1-ое состояние – неопределённое. Указатель находится в неопределённом состоянии до первого присвоения ему какого-либо значения.

2-ое состояние – неопределённое. Указатель содержит адрес конкретной ячейки памяти

3-е состояние – указатель пустой. Происходит тогда, когда под указатель не выделена память (nil).

Основные операции, выполняемые с указателями:

  1.  Объявление указателя

Var p1:^Integer; (^-показать, что это указатель)

P1

P2:Pointer; (нетипизированный указатель)

   

P2

  1.  Выделение памяти для указателя

New (p1);

  1.  Освобождение памяти из под указателя

Dispose(p1);

 

  1.  Присвоение данных

p1^:=4;

-разыменование

  5) Копирование адреса

P2:=p1

  1.  Копирование данных

p1^:=p2^

p1

     p2

Основные динамические структуры данных

  1.  Стек

Это структура данных, которая работает по принципу «последним защёл, первым вышел».

Type

pEl:^ tEl;

tEl=Record

data: Integer;

next: pEl;

end;

var pTop, pHelp: pEl;                                pTop

{создаём стек}                                          pHelp

Procedure StackCreate;

Begin    pTop

New(pTop);

pTop.next:=nil;

{мы подразумеваем pTop^.next)

pTop.data:=-1;

end;

{Добавляем один элемент}

Procedure StackAdd(x:Integer);

Begin

…..ДОПЕЧАТАТЬ

02.04.2013

Продолжение

Удаление элемента

pTop

  1.  Очередь

Это структура данных, которая работает по принципу «первым защёл, первым вышел».

Структура данных для очереди, такая же как и для стека.

Type

pEl:^ tEl;

tEl=Record

data: Integer;

next: pEl;

end;

{для работы с очередью нам необходимо три указателя.}

Var pBeg, pEnd, pHelp: pE1

{пустая очередь выглядит следующим образом}

 Рис1

{добавление в очередь}

 ….

  1.  Однонаправленный список

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

Пустой список выглядит также как пустая процедура очереди.

Процедура вывода списка аналогична процедуре вывода очереди.

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

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

Необходимо:

1.создание.

2.добавление элемента в начало списка

3. добавление элемента в конец списка

4. добавление элемента после элемента с номером k.

5.удаление элемента из начала списка

6.удаление элемента из конца списка

7.удаление элемента с номером k.

8.вывод списка на экран.

Д.З. картинки+процедуры

  1.  Двунаправленный список

  1.  Двоичное дерево

…..ДОПЕЧАТАТЬ




1. Формы духовной культуры- миф, религия, искусство, наука
2. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата технічних наук ХЕРСОН 2003 Дис
3. Билеты по адвокатуре (2 предмета) за первый семестр 2001 года
4.  познании бытии человеке природе Философское
5. тематике в 1 классе Тема- Сложение и вычитание в пределах 10
6. философской концепции К
7. тема трудового права Отграничение трудового права РФ от смежных отраслей права Понятие и система принцип
8. Игровая деятельность младших школьников с задержкой психического развития
9. ГЖЕЛЬСКАЯ МАЙОЛИКА 3 клАсс Цели- Продолжить знакомство учащихся первичные знания получены н
10. тема завода по сборке автомобилей или других сложных изделий