|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Исключение
Очистка Type стек = ссылка;
Procedure очистить_стек (var s: стек); Begin s:= nil End;
Включение Type стек = ссылка; Procedure вкл_стек (d: тип данных; var s: стек); Var x: ссылка; Begin new (x); with x^ do begin данные:= d; связь:= s end; s:= x End;
Исключение Function искл_стек (var d: тип данных; var s: стек):boolean; Var x: ссылка; Begin if s = nil then искл_стек:= false else begin искл_стек: = true; x:= s; with s^ do begin d:= данные; s:= связь end; dispose(x) end End;
Переменные в процедурах: x – вспомогательная ссылочная переменная d – переменная для хранения данных из узла.
Процедуры – исключение/включение/очистка и т.п. Недостатки – нет доступа к предшествующим элементам списка; обязательно хранить указатель на начало и конец списка для многократного обращения к нему. Выход: - циклический список в котором начало и конец замкнуты и вводится маркированный элемент начала списка. - двунаправленный список – элементы такого списка содержат ссылки на родителя и потомка. - Коралловое кольцо – двунаправленный список, в котором нечетные элементы ссылаются через один элемент, а четные на начало. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.002 сек.) |