Мои Конспекты
Главная | Обратная связь


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

ТЕМА 2 ДВУСВЯЗНЫЕ ЛИНЕЙНЫЕ СПИСКИ

Разработать и реализовать программу создания и обработки линейного двусвязного список с указателями на первый и последний элементы списка. Элемент (звено списка) содержит одно информационное поле целого типа.

При реализации на языке Паскаль программа должна иметь модульную структуру [ 5 ].

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

Модуль ( unit ) должен содержать описание соответствующих типов и подпрограмм работы со списками:

а) создание списка (данные вводятся из текстового файла);

б) просмотр списка (проход по списку с выдачей на экран значений информационных полей списка );

в) просмотр списка в обратном направлении (проход по списку от последнего до первого элемента );

д) вставка одного или нескольких элементов в список ( Задание 1 );

е) удаление из списка одного или нескольких элементов ( Задание 2 ).

Задание 1

Описать подпрограмму вставки одного или нескольких элементов в
двусвязный линейный список.

1) Вставить новый элемент после каждого нулевого элемента.

2) Вставить новый элемент после первого нулевого элемента.

3) Вставить новый элемент после каждого положительного элемента.

4) Вставить новый элемент после первого положительного элемента.

5) Вставить новый элемент после каждого отрицательного элемента.

6) Вставить новый элемент после первого отрицательного элемента.

7) Продублировать все элементы с нечётными значениями.

8) Продублировать первый из элементов с нечётными значениями.

9) Продублировать все элементы с чётными значениями.

10) Продублировать первый из элементов с чётными значениями.

11) Продублировать все элементы со значением большим заданного
значения.

12) Продублировать первый из элементов со значением большим заданного значения.

13) Продублировать все элементы со значением меньшим заданного
значения.

14) Продублировать первый из элементов со значением меньшим заданного значения.

15) Продублировать в списке каждый из элементов с заданным значением.

16) Вставить новый элемент перед первым нечётным элементом.

17) Вставить новый элемент перед каждым нечётным элементом.

18) Вставить новый элемент перед первым чётным элементом.

19) Вставить новый элемент перед каждым чётным элементом.

20) Продублировать в списке первый из нулевых элементов.

21) Продублировать в списке все нулевые элементы.

22) Продублировать в списке первый положительный элемент.

23) Продублировать в списке все положительные элементы.

24) Продублировать в списке первый отрицательный элемент.

25) Продублировать в списке все отрицательные элементы.

Задание 2

Описать подпрограмму удаления одного или нескольких элементов
двусвязного линейного списка.

1) Удалить из списка первый из элементов с нечётным значением.

2) Удалить из списка все элементы с нечётными значениями.

3) Удалить из списка первый из элементов с чётным значением.

4) Удалить из списка все элементы с чётными значениями.

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

6) Удалить из списка все элементы со значением, большим заданного
значения.

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

8) Удалить из списка все элементы со значением, меньшим заданного
значения.

9) Удалить из списка первый из отрицательных элементов.

10) Удалить из списка все отрицательные элементы.

11) Удалить из списка первый из нулевых элементов.

12) Удалить из списка все нулевые элементы.

13) Удалить из списка первый из положительных элементов.

14) Удалить из списка все положительные элементы.

15) Удалить из списка после первого элемента со значением большим
заданного значения один элемент.

16) Удалить из списка после каждого элемента со значением большим
заданного значения один элемент.

17) Удалить из списка после первого элемента со значением меньшим
заданного значения один элемент.

18) Удалить из списка после каждого элемента со значением меньшим
заданного значения один элемент.

19) Удалить из списка после первого элемента с заданным значением один элемент.

20) Удалить из списка после каждого элемента с заданным значением один элемент.

21) Удалить из списка перед первым элементом с заданным значением один элемент.

22) Удалить из списка перед каждым элементом с заданным значением один элемент.

23) Удалить из списка после первого элемента с заданным значением один элемент, если его значение отлично от заданного.

24) Удалить из списка после каждого элемента с заданным значением один элемент, если его значение отлично от заданного.

25) Удалить из списка перед первым элементом с заданным значением один элемент, если его значение отлично от заданного значения.