4970

Сравнение однонаправленного и двунаправленного списка

Реферат

Информатика, кибернетика и программирование

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

Русский

2012-11-30

65.03 KB

22 чел.

Списки

Список – линейная структура, каждый элемент которой содержит адрес соседних элементов. Различают однонаправленные и двунаправленные списки.

В однонаправленном списке каждый элемент содержит адрес следующего элемента. В двунаправленном списке каждый элемент содержит адреса предыдущего и последующего элементов.

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

Рассмотрим более подробно однонаправленный список.

Каждый элемент списка состоит из содержательной части и служебной части.

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

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

Сравнение однонаправленного и двунаправленного списка

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

Сравнение списка и массива указателей

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

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

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

Описание списка на языке Си++

Для описания списка на языке Си++ необходимо описать два класса:

класс элемента списка и класс списка.

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

В классе самого списка должны находиться указатель на начало списка и число элементов

Рассмотрим пример разработки класса списка людей.

Вначале необходимо создать класс Человек PersonElem.

Затем следует создать класс PeopleList


 

А также другие работы, которые могут Вас заинтересовать

31175. ЯЗЫКОВЫЕ ОСОБЕННОСТИ АНГЛИЙСКИХ ГАЗЕТ 20.52 KB
  Язык газеты, безусловно, обладает определенной спецификой, отличающей его от языка художественной или научной литературы, от разговорной речи. Это является следствием длительного отбора языковых, выразительных средств.
31176. Каковы особенности массовой коммуникации 21.5 KB
  2 сообщение имеет ряд свв: соц актуальность соц значимость модность вечные темы быстрая забываемость периодичность регулярное возвращение к некотор темам доступность занимательность эмоциональность имеет игровой харакр коммерциализация. :оперативность эмоциональность возможность использ в фоновом режиме. :оперативность эмоциональность заразительность эффект присутствия. эмоциональность слаб оперативность.