Файл: Лабораторная работа 3. Программирование линейных структур данных специального вида.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.12.2023

Просмотров: 55

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Лабораторная работа №3. Программирование линейных структур данных специального вида

Цель работы


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

Задание кафедры


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

    1. Добавление новой записи в начало списка

    2. Добавление новой записи в конец списка

    3. Вставка новой записи на заданную позицию

    4. Удаление записи, находящейся на заданной позиции

    5. Изменение записи, находящейся на заданной позиции

    6. Очистка информационного массива

    7. Последовательный поиск записи в информационном массиве

    8. Вывод содержимого информационного массива на экран

    9. Вывод служебных данных и текущей структуры используемой структуры хранения.

По желанию можно реализовать функции чтения/записи информационного массива из файла/в файл.



№ п/п

Структура записи информационного массива

Используемая линейная структура

Ключевое поле


Информационные поля

1

int


char[], float

Блоковый список (размер блока 5)


2

int[3]


char[], int

Индексированный список (равномерное индексирование, размер индексной таблицы 5)

3

float


float[], char[]

Индексированный список (неравномерное индексирование, размер индексной таблицы 4)

4

float[3]


char[], char[]

Индексированный блоковый список (равномерное индексирование блоков, размер блока 7, размер индексной таблицы 6)

5

char


int[], char

Индексированный блоковый список (неравномерное индексирование блоков, размер блока 6, размер индексной таблицы 5)

6

int


char[], float

Индексированный список (равномерное индексирование, размер индексной таблицы 8)

7

int[3]


char[], int

Индексированный список (неравномерное индексирование, размер индексной таблицы 8)

8

float


float[], char[]

Индексированный блоковый список (равномерное индексирование блоков, размер блока 10, размер индексной таблицы 4)

9

float[3]


char[], char[]

Индексированный блоковый список (неравномерное индексирование блоков, размер блока 7, размер индексной таблицы 5)

10

char


int[], char

Блоковый список (размер блока 7)


11

char[20]


char[], int, float

Индексированный список (неравномерное индексирование, размер индексной таблицы 6)

12

int[2]


char[], int[]

Индексированный блоковый список (равномерное индексирование блоков, размер блока 6, размер индексной таблицы 5)

13

float[3]


int[], char[], float

Индексированный блоковый список (неравномерное индексирование блоков, размер блока 4, размер индексной таблицы 7)

14

float


char[], int

Блоковый список (размер блока 7)


15

float[3]


int[], int[], char

Индексированный список (равномерное индексирование, размер индексной таблицы 8)

16

char[20]


char[], int, float

Индексированный блоковый список (равномерное индексирование блоков, размер блока 6, размер индексной таблицы 5)

17

int[2]


char[], int[]

Индексированный блоковый список (неравномерное индексирование блоков, размер блока 5, размер индексной таблицы 5)

18

float[3]


int[], char[], float

Блоковый список (размер блока 9)


19

float


char[], int

Индексированный список (равномерное индексирование, размер индексной таблицы 7)

20

float[3]


int[], int[], char

Индексированный список (неравномерное индексирование, размер индексной таблицы 8)

21

int


char[], int, float

Индексированный блоковый список (неравномерное индексирование блоков, размер блока 6, размер индексной таблицы 5)

22

int[3]


char[], int[]

Блоковый список (размер блока 8)


23

float


int[], char[], float

Индексированный список (равномерное индексирование, размер индексной таблицы 4)

24

float[3]


char[], int

Индексированный список (неравномерное индексирование, размер индексной таблицы 6)

25

char


int[], int[], char

Индексированный блоковый список (равномерное индексирование блоков, размер блока 10, размер индексной таблицы 8)

26

int


char[], int, float

Блоковый список (размер блока 7)


27

int[3]


char[], int[]

Индексированный список (равномерное индексирование, размер индексной таблицы 10)

28

float


int[], char[], float

Индексированный список (неравномерное индексирование, размер индексной таблицы 9)

29

float[3]


char[], int

Индексированный блоковый список (равномерное индексирование блоков, размер блока 4, размер индексной таблицы 7)

30

char


int[], int[], char

Индексированный блоковый список (неравномерное индексирование блоков, размер блока 6, размер индексной таблицы 5)