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

  • ДАННЫЕ: Параметры: Vertices – указатель на вектор вершинCurrent – позиция текущей вершиныОПЕРАЦИИ

  • Вход

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

  • Выход

  • ДАННЫЕ: Параметры: EdgeIterator – указатель на базовый класс итератораОПЕРАЦИИ: Конструктор Вход

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


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

    6. АТД «итератор вершин»

    1. 6.1. Формат АТД «итератор вершин»



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

    Параметры:

    Vertices – указатель на вектор вершин

    Current – позиция текущей вершины

    ОПЕРАЦИИ:

    Конструктор

    Вход: нет

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

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

    Выход: нет

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

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

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

    Процесс: создание объекта «Итератор вершин»

    Выход: нет

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

    Установка на первую вершину

    Вход: нет

    Предусловия: граф не пуст

    Процесс: установка итератора на первую вершину

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

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

    Установка на последнюю вершину

    Вход: нет

    Предусловия: граф не пуст

    Процесс: установка итератора на последнюю вершину

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

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

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

    Вход: нет

    Предусловия: граф не пуст и итератор не вышел за пределы графа

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

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

    Постусловия: итератор установлен на следующую вершину, m_iCurrent увеличен на единицу

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

    Вход: нет

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

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

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

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

    Получение дескриптора текущей вершины

    Вход: нет

    Предусловия: граф не пуст

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

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

    Постусловия: нет
      1. 6.2. Клиентское определение класса «итератор вершин»



    public class IteratorVertexes

    public IteratorVertexes(Graph g)

    public Vertex Beg()

    public Vertex End()

    public void Next()//++

    public Vertex Input()
    1. 7. АТД «итератор ребер»

      1. 7.1. Формат АТД «итератор ребер»



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

    Параметры:

    EdgeIterator – указатель на базовый класс итератора

    ОПЕРАЦИИ:

    Конструктор

    Вход: нет

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

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

    Выход: нет

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

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

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

    Процесс: создание объекта «Итератор ребер»

    Выход: нет

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

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

    Вход: нет

    Предусловия: множество ребер не пусто

    Процесс: установка итератора на первое ребро

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

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

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

    Вход: нет

    Предусловия: множество ребер не пусто

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

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

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

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

    Вход: нет

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

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

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

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

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

    Вход: нет

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

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

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

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

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

    Вход: нет

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

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

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

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


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