![]() Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
While Node<>nil do begin
Arc: =Node^.ArcList; If Arc< > nil then begin while (Arc^.NextArc< > nil) and (Arc< > ArcNode) do Arc: = Arc^.NextArc; if Arc=ArcNode then begin HeadNode: =Node; Break; end; end; Node: = Node^.NextNode; end; end; // function tOrGraph.HeadNode При реализации операции включения дуги между двумя заданными узлами графа дуга помещается в начало списка дуг узла, из которого она выходит (такое включение выполняется наиболее просто для линейного односвязного списка). При этом дуги в представлении графа хранятся в порядке, обратном их включению. Перед применением операции необходимо убедиться, что оба узла присутствуют в списке узлов графа. procedure tOrGraph.AddArc(Node1, Node2: pNode); // Включение дуги между узлами Node1 и Node2 Var Arc: pArc; Begin Arc: =ArcAddr(Node1, Node2); if Arc= nil Then begin Arc: =New(pArc); Arc^.NextArc: =Node1^.ArcList; Arc^.RearNode: =Node2; Node1^.ArcList: =Arc; Inc(fArcsNumber); end else Writeln('Узлы ', Node1^.Value, ' и ', Node2^.Value, ' уже соединены дугой'); end; // procedure tOrGraph.AddArc Исключение дуги между двумя заданными узлами, если она есть. Оба узла должны присутствовать в списке узлов графа. procedure tOrGraph.DeleteArc(Node1, Node2: pNode); // Исключение дуги между узлами Node1 и Node2, если она есть Var Arc, PrevArc: pArc; Begin Arc: =Node1^.ArcList; // адрес начала списка смежности узла Node1 If Arc< > nil then begin // если список дуг узла Node1 не пуст PrevArc: = nil; // адрес дуги, предшествующей исключаемой While (Arc^.RearNode< > Node2) and (Arc^.NextArc< > nil) do begin PrevArc: =Arc; Arc: = Arc^.NextArc; end; if Arc^.RearNode=Node2 // если есть дуга, входящая в узел Node2 then begin // удаление if PrevArc= nil then Node1^.ArcList: = Arc^.NextArc // удаляется первая дуга else PrevArc^.NextArc: = Arc^.NextArc; // удаляется не первая дуга Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок. — Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта. — Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы). — SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание. SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение Dispose(Arc); Dec(fArcsNumber); End else WriteLn('Исключаемая дуга отсутствует'); End else WriteLn('Исключаемая дуга отсутствует'); end; // procedure tOrGraph.DeleteArc При реализации операции включения узла в граф новый узел помещается в начало списка узлов графа, так как такое включение выполняется наиболее просто для линейного односвязного списка. Необходимо помнить, что при этом узлы в представлении графа хранятся в порядке, обратном их включению (как в стеке), поэтому операция обхода графа будет выводить узлы графа в том же обратном порядке. Узел включается в граф только в том случае, если он отсутствует в графе. procedure tOrGraph.AddNode(v: tValue); // Включение узла со значением v в граф Var NewNode: pNode; Begin if NodeAddr(v)= nil
|