![]() Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Then begin. NewNode:=New(pNode); NewNode^.Value:=v;
NewNode: =New(pNode); NewNode^.Value: =v; NewNode^.NextNode: =fHead; NewNode^.ArcList: = nil; fHead: =NewNode; Inc(fNodesNumber); end else Writeln('Узел со значением ', v, ' в графе уже есть'); end; // procedure tOrGraph.AddNode При исключении узла из графа необходимо исключить и все дуги, инцидентные этому узлу. Реализация графа с помощью линейных односвязных списков не позволяет иметь прямой доступ к дугам, входящим в узел, и для их поиска нужно просматривать все списки дуг графа. Операция выполняется в три этапа: сначала удаляются все дуги, выходящие из исключаемого узла, затем отыскиваются и удаляются все дуги, входящие в исключаемый узел, и только после этого исключается сам узел. Исключаемый узел должен присутствовать в списке узлов графа. function tOrGraph.DeleteNode(DisNode: pNode): tValue; // Исключение узла DisNode из графа с исключением инцидентных ему дуг // и возвращение информации, содержащейся в исключенном узле Var Node, PrevNode: pNode; // текущий и предшествующий узлы Arc, PrevArc: pArc; // текущая и предшествующая дуги Begin // 1. Удаление дуг, исходящих из узла DisNode While DisNode^.ArcList< > nil do begin Arc: =DisNode^.ArcList; DisNode^.ArcList: = Arc^.NextArc; Dispose(Arc); Dec(fArcsNumber); end; // 2. Поиск и удаление дуг, входящих в узел DisNode Node: =fHead; While Node< > nil do begin Arc: =Node^.ArcList; PrevArc: = nil; if Arc< > nil then begin // если список дуг узла Node не пуст While (Arc^.RearNode< > DisNode) and (Arc^.NextArc< > nil) do begin PrevArc: =Arc; Arc: = Arc^.NextArc; end; if Arc^.RearNode=DisNode then begin // удаление if PrevArc= nil then Node^.ArcList: = Arc^.NextArc // удаляется первая дуга else PrevArc^.NextArc: = Arc^.NextArc; // удаляется не первая дуга Dispose(Arc); Dec(fArcsNumber); end; Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок. — Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта. — Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы). — SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание. SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение end; Node: =Node^.NextNode; end; // 3. Исключение узла DisNode из списка узлов графа DeleteNode: =DisNode^.Value; PrevNode: = nil; Node: =fHead; While DisNode< > Node do begin PrevNode: =Node; Node: = Node^.NextNode; end; if PrevNode= nil then fHead: =DisNode^.NextNode // Node – первый узел else PrevNode^.NextNode: =DisNode^.NextNode; // Node – не первый узел Dispose(Node); Dec(fNodesNumber); end; // function tOrGraph.DeleteNode При выполнении операции просмотра графа в файл поочередно выводятся узлы графа и для каждого узла перечисляются исходящие из него дуги: procedure tOrGraph.Revision(var f: Text); // просмотр графа Var Node: pNode; Arc: pArc; Begin Node: = fHead; While Node< > nil do begin Write(f, 'Узел ', NodeValue(Node), ': '); Arc: =Node^.ArcList;
|