Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Алгоритмы и структуры данных

РЕАЛИЗАЦИЯ ЛИНЕЙНОГО СПИСКА В ВИДЕ ОДНОСВЯЗНОЙ ДИНАМИЧЕСКОЙ СТРУКТУРЫ

Реализация линейного списка в виде односвязной динамической структуры приведена на рис. 2.2.

Head

Value Next

Value Next

Value Next

Реализация линейного списка в виде односвязной

Рис. 2.2. Реализация линейного списка в виде односвязной

динамической структуры

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

Описание класса tList:

type

tValue= Real; pltem= Atltem; tltem= record Value: tValue; Next : pltem; end; // record tltem

//тип значения элемента списка - вещественный // тип указателя на элемент списка // тип элемента списка // содержательная часть элемента списка //указатель на следующий элемент списка

tList = class // класс - список

protected

fHead: pltem; //поле - указатель на начало списка fSize: Word; //поле - число элементов списка

public

// Свойство - указатель на начало списка (доступ по чтению) property Head: pltem read fHead;

// Свойство - число элементов списка (доступ по чтению) property Size: Word read fSize;

//Включение элемента со знач. v после элемента с адресом Addr procedure lnsertAfter(Addr: pltem; v: tValue);

// Включение элемента со знач. v перед элементом с адресом Addr procedure lnsertBefore(Addr: pltem; v: tValue);

// Исключение эл-та, следующего за элементом с адресом Addr function DeleteAfter(Addr: pltem): tValue;

// Исключение элемента с адресом Addr function Delete(Addr: pltem): tValue;

// Поиск элемента со значением v и возвращение его адреса function Search(v: tValue): pltem;

// Включение элемента со значением v в начало списка procedure lnsertHead(v: tValue);

// Включение элемента со значением v в конец списка procedure lnsertRear(v: tValue);

function DeleteHead: tValue; //исключение элемента из начала function DeleteRear: tValue; //исключение элемента из конца function Empty: Boolean; //возвращение true, если список пуст

procedure Clear; //очистка списка

constructor Create; //конструктор - создание списка

destructor Destroy; override; //деструктор - удаление списка end; //class tList

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Пред   СОДЕРЖАНИЕ   След >
 

Популярные страницы