Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Динамические списки





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

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

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

Если же новое звено прицеплять к списку с хвоста, то нужно указатель последнего звена настроить на новое звено, а указатель нового звена установить в nil. Возможен и третий вариант: вставить новое звено внутрь уже сформированной цепочки.

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

Type

P=^TStudent;

TStudent= record

fam:string[20];// фамилия

imja:string[20];//имя

next:P;// следующий элемент списка

end;

Var

head:P; // начало

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

procedure TForm1.Button1Click(Sender: TObject);

Var

curr:P;//указатель на новый элемент

Begin

new(curr);// выделить память

curr^.fam:=Edit1.Text;

curr^.imja:= Edit2.Text;

//добавление

curr^.next:=head;

head:=curr;

//очистить поле ввода

Edit1.Text:='';

Edit2.Text:='';

end;

// вывести список

procedure TForm1.Button2Click(Sender: TObject);

Var

curr:P;//текущий элемент списка

n:integer;//длина списка

st:string;//строковое представление списка

Begin

n:=0;

st:='';

curr:=head;//указатель на первый элемент списка







Дата добавления: 2015-08-12; просмотров: 389. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Характерные черты официально-делового стиля Наиболее характерными чертами официально-делового стиля являются: • лаконичность...

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

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

Ганглиоблокаторы. Классификация. Механизм действия. Фармакодинамика. Применение.Побочные эфффекты Никотинчувствительные холинорецепторы (н-холинорецепторы) в основном локализованы на постсинаптических мембранах в синапсах скелетной мускулатуры...

Шов первичный, первично отсроченный, вторичный (показания) В зависимости от времени и условий наложения выделяют швы: 1) первичные...

Предпосылки, условия и движущие силы психического развития Предпосылки –это факторы. Факторы психического развития –это ведущие детерминанты развития чел. К ним относят: среду...

Studopedia.info - Студопедия - 2014-2026 год . (0.009 сек.) русская версия | украинская версия