andrey

Путь к Файлу: /Документы для форматирования / Задания для работы КТ-104 / 1 (22) / Лабораторная работа№3.doc

Ознакомиться или скачать весь учебный материал данного пользователя
Скачиваний:   0
Пользователь:   andrey
Добавлен:   05.01.2015
Размер:   60.5 КБ
СКАЧАТЬ

Лабораторная работа №3 Динамические структуры данных.Добавление элемента списка в конец. Вставка элемента

1. Добавление элемента в конец списка

Чтобы добавить новый элемент в конец списка (см. Рис. 1), необходимо:

1. Получить память для него;

2. Поместить туда информацию;

3. Установить связь с последним элементом списка.

Лабораторная работа№3

Рис. 1. Добавление элемента в конец списка

Задание 1.

Запустите приложение mod_dyn.exe, выберите пункт «Дополнение списка», разберитесь в приведенных фрагментах программы, выполнив пошагово предложенные алгоритмы.

Задание 2.

Считайте с диска файл add_end, проанализируйте приведенную там программу и ответьте на следующие вопросы:

o Какого типа являются указатели на элементы линейного списка?

o Сколько информационных полей содержит элемент списка? Какого они типа?

o Какое количество ссылочных полей содержит элемент списка?

o Какие указатели на элементы списка участвуют в работе с ним?

o Какой указатель ссылается на первый элемент, последний элемент, а какой на текущий?

o Где в тексте программы происходит заполнение информационных полей?

o Где в тексте программы устанавливается связь с вновь созданным элементом списка?

o Где в тексте программы происходит перемещение указателя начала на вновь созданный элемент?

o До каких пор элементы будут добавляться в список?

Задание 3.

Считайте с диска файл Listadd1 и выполните перечисленные там задания.

Задание 4.

Модифицируйте текст программы файла add_end так, чтобы:

1) после формирования списка, к нему добавлялся элемент в конец, в информационном поле которого хранилось количество элементов списка;

2) чтобы существовало меню для выбора способа формирования списка и после выбора соответствующего пункта, список формировался соответствующим способом. Возможности добавления элемента реализуйте с помощью процедур и функций;

3) элементы списка сохранялись в файл list.dat;

4) существовала возможность просмотреть элементы созданного списка;

5) возможности дополнения списка были реализованы с помощью рекурсивных процедур и функций.

2. Поиск элемента в списке

Чтобы найти элемент списка необходимо:

1. Просматривать каждый элемент списка;

2. Сравнить значение определенного поля с заданным условием списка.

Задание 5.

Запустите приложение mod_dynс.exe, выберите пункт «Поиск данных в списке», разберитесь в приведенном фрагменте программы, выполнив пошагово предложенный алгоритм.

Задание 6.

Модифицируйте текст программы файла ListFind так, чтобы:

1) Выводились на экран элементы, значение которого больше заданного с клавиатуры;

2) Формировался и выводился новый список из элементов, значение которых больше заданного числа.

3. Вставка элемента между двумя существующими элементами списка

Чтобы вставить новый элемент перед некоторым элементом списка (см. Рис. 2), необходимо:

1. Найти элемент, перед которым необходимо вставить;

2. Выделить память для нового элемента Vsp;

3. Поместить туда информацию;

4. Установить связь с элементом списка, с которым связан элемент Pred;

5. установить связь элемента Pred с элементом Vsp.

Лабораторная работа№3

Рис. 2. Вставка элемента перед элементом

 

 

4. Контрольное задание

Написать программу присоединения списка S2 к списку S1.

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

2) Написать функцию, которая подсчитывает количество вхождений ключа в списке.

3) Написать рекурсивную процедуру проверки наличия в списке заданного числа.

4) Написать программу, которая проверяет, упорядочены ли элементы списка по алфавиту.

5) Написать программу, подсчитывающую количество слов в списке, которые начинаются с той же буквы, что и следующее слово.

6) Написать функцию, которая использует исходный список L и создает два новых списка L1 и L2. L1 содержит нечетные узлы, а L2 – четные (добавление в конец).

7) 19. Написать функцию, которая использует исходный список L и создает два новых списка L1 и L2. L1 содержит нечетные числа, а L2 – четные (добавление в конец).

8) Дано число N (> 0) и указатели P1 и P2 на начало и конец непустого списка. Извлечь из списка N начальных элементов и вывести их значения (если список содержит менее N элементов, то извлечь все его элементы).

9) Написать функцию, которая вычисляет среднее арифметическое элементов непустого списка.

 

5. Вопросы для контроля

1. Как добавить элемент в конец списка?

2. Как добавить элемент в начало списка?

3. Что нужно знать, чтобы вставить элемент после известного элемента?

4. Как осуществляется поиск элемента в списке?

5. Как будет выглядеть строка из элементов списка, если он формировался путем добавления элементов в конец списка, в начало? Исходный список элементов выглядит следующим образом: 13, 2, 7, 35, 28, 9.

Наверх страницы

Внимание! Не забудьте ознакомиться с остальными документами данного пользователя!

Соседние файлы в текущем каталоге:

На сайте уже 21970 файлов общим размером 9.9 ГБ.

Наш сайт представляет собой Сервис, где студенты самых различных специальностей могут делиться своей учебой. Для удобства организован онлайн просмотр содержимого самых разных форматов файлов с возможностью их скачивания. У нас можно найти курсовые и лабораторные работы, дипломные работы и диссертации, лекции и шпаргалки, учебники, чертежи, инструкции, пособия и методички - можно найти любые учебные материалы. Наш полезный сервис предназначен прежде всего для помощи студентам в учёбе, ведь разобраться с любым предметом всегда быстрее когда можно посмотреть примеры, ознакомится более углубленно по той или иной теме. Все материалы на сайте представлены для ознакомления и загружены самими пользователями. Учитесь с нами, учитесь на пятерки и становитесь самыми грамотными специалистами своей профессии.

Не нашли нужный документ? Воспользуйтесь поиском по содержимому всех файлов сайта:



Каждый день, проснувшись по утру, заходи на obmendoc.ru

Товарищ, не ленись - делись файлами и новому учись!

Яндекс.Метрика