Главная страница
Навигация по странице:

  • 8. АТД «итератор исходящих ребер»

  • ОПЕРАЦИИ: Конструктор Вход

  • Предусловия

  • Вход

  • Выход

  • Постусловия

  • Процесс

  • ргр по алгоритмам и структурам данных. АиСД РГР, ключников. Разработка атд Простой граф


    Скачать 135.4 Kb.
    НазваниеРазработка атд Простой граф
    Анкорргр по алгоритмам и структурам данных
    Дата20.12.2022
    Размер135.4 Kb.
    Формат файлаdocx
    Имя файлаАиСД РГР, ключников.docx
    ТипДокументы
    #854773
    страница7 из 12
    1   2   3   4   5   6   7   8   9   ...   12

    7.2. Клиентское определение класса «итератор ребер»



    internal abstract class IteratorAllEdges
    public static IteratorAllEdges MakeIt(AbstractGraph
    public abstract bool Beg();

    public abstract bool End();

    public abstract void Next();

    public abstract Edge Input();

    8. АТД «итератор исходящих ребер»
      1. 8.1. Формат АТД «итератор исходящих ребер»



    Итератор исходящих ребер - это объект, позволяющий клиентской программе получить доступ к значениям данных, скрытых в коллекции «Простой статический граф», играя роль обобщенного указателя на данные, хранящиеся в коллекции. Даёт возможность перемещаться по исходящим рёбрам заданной вершины, осуществлять переход к следующим и получать дескриптор текущего ребра.

    ДАННЫЕ:

    Параметры

    Lgraph – указатель на L-Граф;

    Mgraph – указатель на M-Граф;

    Form – текущая форма графа;

    CurrentVertex – индекс текущей вершины;

    CurrentEdge – индекс текущего ребра
    ОПЕРАЦИИ:

    Конструктор

    Вход: нет

    Предусловия: нет

    Процесс: создание пустого объекта «Итератор исходящих ребер»

    Выход: нет

    Постусловия: создан пустой объект итератор исходящих ребер графа

    Конструктор

    Вход: ссылка на объект типа «Простой граф» и дескриптор вершины v

    Предусловия: вершина v существует

    Процесс: создание объекта итератора исходящих рёбер

    Выход: нет

    Постусловия: создан объект итератор исходящих рёбер вершины

    Установка на первое ребро

    Вход: нет

    Предусловия: вершина с индексом m_iCurrentVertex существует и множество её исходящих ребер не пусто

    Процесс: установка итератора на первое исходящее ребро вершины

    Выход: true – итератор установлен, false – в противном случае

    Постусловия: нет

    Установка на последнее ребро

    Вход: нет

    Предусловия: вершина с индексом m_iCurrentVertex существует и множество её исходящих ребер не пусто

    Процесс: установка итератора на последнее исходящее ребро вершины

    Выход: true – итератор установлен, false – в противном случае

    Постусловия: нет

    Установка на следующее исходящее ребро

    Вход: нет

    Предусловия: вершина m_iCurrentVertex существует и множество её исходящих ребер не пусто и итератор не вышел за пределы множества исходящих ребер вершины

    Процесс: установка итератора на следующее исходящее ребро вершины

    Выход: нет

    Постусловия: итератор установлен на следующее исходящее ребро вершины

    Проверка на выход за границы коллекции

    Вход: нет

    Предусловия: нет

    Процесс: проверка, вышел ли итератор за пределы коллекции

    Выход: true-если итератор вышел за пределы, иначе false

    Постусловия: нет

    Получение дескриптора текущего ребра

    Вход: нет

    Предусловия: итератор не вышел за пределы множества исходящих ребер вершины

    Процесс: получение дескриптора ребра

    Выход: дескриптор исходящего ребра вершины, на которое указывает итератор

    Постусловия: нет
      1. 8.2. Клиентское определение класса «итератор исходящих ребер»



    internal abstract class IteratorOutEdge

    public static IteratorOutEdge MakeIt(Vertex v, AbstractGraph g)

    public abstract bool Beg();

    public abstract bool End();

    public abstract void Next();

    public abstract Edge Input();

    1. 9. АТД «итератор входящих ребер»

      1. 9.1. Формат АТД «итератор входящих ребер»



    Это объект, позволяющий клиентской программе получить доступ к значениям данных, скрытых в коллекции «Простой статический граф», играя роль обобщенного указателя на данные, хранящиеся в коллекции. Даёт возможность перемещаться по входящим рёбрам заданной вершины, осуществлять переход к следующим и получать дескриптор текущего ребра.

    ДАННЫЕ

    Параметры

    Lgraph – указатель на L-Граф;

    Mgraph – указатель на M-Граф;

    Form – текущая форма графа;

    CurrentVertex – индекс текущей исходящей вершины;

    CurrentEdge – индекс текущего входящего ребра

    ОПЕРАЦИИ:

    Конструктор

    Вход: нет

    Предусловия: нет

    Процесс: создание пустого объекта «Итератор входящих ребер»

    Выход: нет

    Постусловия: создан пустой объект итератор входящих ребер графа

    Конструктор

    Вход: ссылка на объект типа «Простой граф» и дескриптор вершины v

    Предусловия: вершина v существует

    Процесс: создание объекта итератора входящих рёбер

    Выход: нет

    Постусловия: создан объект итератор входящих рёбер вершины

    Установка на первое входящее ребро

    Вход: нет

    Предусловия: вершина существует и множество её входящих ребер не пусто

    Процесс: установка итератора на первое входящее ребро вершины

    Выход: true – итератор установлен, иначе - false

    Постусловия: нет

    Установка на последнее входящее ребро

    Вход: нет

    Предусловия: вершина существует и множество её входящих ребер не пусто

    Процесс: установка итератора на последнее входящее ребро вершины

    Выход: true – итератор установлен, иначе - false

    Постусловия: нет

    Установка на следующее входящее ребро

    Вход: нет

    Предусловия: итератор не вышел за пределы множества входящих ребер вершины

    Процесс: установка итератора на следующее входящее ребро вершины

    Выход: нет

    Постусловия: нет

    Проверка на выход за границы коллекции

    Вход: нет

    Предусловия: нет

    Процесс: проверка вышел ли итератор за пределы коллекции

    Выход: true-если итератор вышел за пределы, иначе false

    Постусловия: нет

    Получение дескриптора текущего ребра

    Вход: нет

    Предусловия: нет

    Процесс: получение дескриптора ребра

    Выход: дескриптор входящего ребра вершины, на которое указывает итератор

    Постусловия: нет
      1. 1   2   3   4   5   6   7   8   9   ...   12


    написать администратору сайта