![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Пример описания списка
Type ukazat= ^S; Создадим первый элемент списка: New (u); {выделяем место в памяти} Продолжим формирование списка. Для этого нужно добавить элемент либо в конец списка, либо в голову. А) Добавим элемент в голову списка. Для этого необходимо выполнить последовательность действий: · получить память для нового элемента; · поместить туда информацию; · присоединить элемент к голове списка. New(x); Б)Добавление элемента в конец списка. Для этого введем вспомогательную переменную, которая будет хранить адрес последнего элемента. Пусть это будет указатель с именем hv (хвост). x: = hv; New(x^. next); {выделяем память для следующего элемента} x: = x^.next; Просмотр списка While u< > nil do Удаление элемента из списка А)Удаление первого элемента. Для этого во вспомогательном указателе запомним первый элемент, указатель на голову списка переключим на следующий элемент списка и освободим область динамической памяти, на которую указывает вспомогательный указатель. x: = u; Б) Удаление элемента из середины списка. Для этого нужно знать адреса удаляемого элемента и элемента, стоящего перед ним. Допустим, что digit – это значение удаляемого элемента. x: = u; В)Удаление из конца списка. Для этого нужно найти предпоследний элемент. x: = u; dx: = u; Прохождение списка. Важно уметь перебирать элементы списка, выполняя над ними какую-либо операцию. Пусть необходимо найти сумму элементов списка. summa: = 0;
|