Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_АПр_ЛбР.doc
Скачиваний:
3
Добавлен:
18.11.2019
Размер:
870.91 Кб
Скачать

7.3 Варіанти індивідуальних завдань

  1. Для наступних варіантів представлення черги реалізувати функції:

  • St_init - створити чергу встановленого розміру;

  • St_empty - визначити чи є черга Q пустою;

  • St_push - добавити елемент до черги Q;

  • St_clear - вилучити елемент із черги Q:

    1. Варіант 1: для черги відводиться свій масив із n компонентів, в яких елементи черги займають групу сусідніх компонент, індекси першої та останньої з яких запам’ятовуються (рисунок 7.3); при цьому коли черга досягає правого краю масиву, то всі її елементи зміщуються до лівого краю;

Е1

Е2

Еm

n

1 2 Н-1 Н К К+1

Рисунок 7.3

    1. Варіант 2: представлення аналогічне варіанту 1, але масив склеюється у кільце, тому, якщо черга досягає правого краю масиву, то нові елементи записуються до початку масиву (рисунок 7.4);

Ei+1

Еm

Е1

Е2

Ei

1 K K+1 Н-1 H H+1 n

Рисунок 7.4

    1. Варіант 3: для кожної черги створюється свій список з одним напрямком із елементів черги, при цьому запам’ятовуються посилання на першу та останню ланку списку (рисунок 7.5).

Рисунок 7.5.

  1. Використовуючи чергу, вирішити наступні завдання:

    1. За один перегляд файлу f, без використання додаткових файлів, надрукувати елементи файлу f за наступним порядком:

а) усі числа менше а;

б) усі числа з відрізку [а, в];

в) усі числа, які більше та не входять до відрізку [а, в]; при цьому а, в – встановлені числа, а>в;

    1. Зміст текстового файлу f , який розділено на строки, переписати до текстового файлу д, переносячи при цьому у кінець кожної строки всі цифри, що входять до неї (із збереженням вихідного взаємного порядку, як серед цифр, так і серед літер строки);

    2. Маємо файл типу Д (х, у), де у визначає ім’я дитини чоловіка за ім’ям х. Необхідно записати до файлу П ім’я всіх потомків чоловіка на ім’я И у наступному порядку: спочатку ім’я всіх його дітей, після цього – всіх внуків, після цього – правнуків і т.д.

7.4 Контрольні питання та завдання

  1. Опишіть, як логічно може бути представлена черга.

  2. Яке значення мають черги у програмуванні?

  3. Яким чином можливо реалізувати черги на базі масиву?

  4. Яким чином можливо реалізувати чергу на базі масиву без зациклювання?

  5. Яким чином можливо реалізувати чергу на базі масиву із зациклюванням?

  6. Назвіть основні технологічні операції використання черг у програмах.

    1. СТВОРЕННЯ ТА ОБРОБКА СТЕКІВ У СЕРЕДОВИЩІ С++