Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта
  • Лабораторная работа №6






    Стеки, очереди и деки – реализация на базе списков и массивов

     

    Цели работы:

    – Усвоить понятия «стек», «очередь», «дек».

    – Получить практические навыки по реализации абстрактных структур данных стеков, очередей и деков на базе массивов и списков.

    – Создать проект в системе Qt Creator, в котором осуществляется работа с одной из изучаемых структур данных и выполняется вывод на экран отображения содержимого этой структуры.

    6.1 теоретические сведения

    Стеком (stack, магазин) называют упорядоченный набор элементов, в котором занесение (добавление) новых элементов и удаление (выборка) существующих производятся только с одного его конца, называемого вершиной стека.

    Стеки обслуживают дисциплину «последним пришел, первым ушел» (LIFO – Last in, first out).

    Очередь (queue) – это упорядоченный набор элементов, в котором занесение (добавление) новых элементов осуществляется с одного его конца, называемого «концом очереди», а удаление (выборка) существующих производится из другого его конца, называемого началом очереди.

    Очереди обслуживают дисциплину «первым пришел, первым ушел» (FIFO – First in, first out).

    Дек это список, у которого обе позиции (начало и конец) доступны для добавления и взятия элемента. Таким образом, дек может быть и стеком, и очередью, и комбинацией этих структур. Наиболее часто дек представляется структурой с ограничением на вход или выход: дек с ограниченным входом (только одна позиция доступна для добавления элемента) и дек с ограниченным выходом (только одна позиция доступна для взятия элемента из дека).

    ТЕКСТ ПРОГРАММЫ

     

    bool priorityInsert(TQueue & que, TElQ newEl) {

    if (isOverflow(que.PBQ, que.PEQ))

    return false;

    if ((newEl % 10) < (que.storage[que.PBQ] % 10))

    INSERT(que, newEl);

    else {

    if (que.PBQ == 0) {

    que.PBQ = QUEUE_SIZE - 1;

    que.storage[0] = newEl;

    }

    else {

    que.PBQ--;

    que.storage[que.PBQ + 1] = newEl;

    }

    return true;

    }

    }

     

    void showQueue(TQueue que) {

    for (int i = que.PBQ; i! = que.PEQ; i++) {

    if (i == QUEUE_SIZE - 1)

    i = -1;

    cout < < que.storage[i + 1] < < " ";

    }

    cout < < " \nТекущая позиция начала очереди " < < que.PBQ < < endl;

    cout < < " Текущая позиция окончания очереди " < < que.PEQ < < endl;

    }

     

    РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ ПРОЕКТА

     

    В таблице 6.1 приведены значения элементов очереди

     

    Позиция                  
    Значение                  

     

    Таблица 6.1 – значения элементов очереди

     

    Изначально заполняем позиции очереди стандартным методом числами 67, 67, 12, 44, 8. После заполняем очередь, используя добавление с учетом приоритета, вводя числа 11, 11, 9, 8. Итоговый результат будет таков:

     

    9 8 67 67 12 44 8 11 11

     

    На рисунке 6.1 изображен результат работы функции добавления элемента в очередь с учетом приоритета.

     

     

    Рисунок 6.1 – результат добавления элемента в очередь с учетом приоритета

    ВЫВОД

     

    Во время лабораторной работы мы усвоили понятия «стек», «очередь», «дек», получили практические навыки по реализации абстрактных структур данных стеков, очередей и деков на базе массивов и списков и создали проект, в котором осуществляется работа с одной из изучаемых структур данных и выполняется вывод на экран отображения содержимого этой структуры.

     

     






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.