Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
YaP_laby.pdf
Скачиваний:
159
Добавлен:
31.05.2015
Размер:
915.49 Кб
Скачать

ЛАБОРАТОРНАЯ РАБОТА № 14 ДВУСВЯЗНЫЕ ЛИНЕЙНЫЕ СПИСКИ

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

Задания

1.Изучить:

а) способы формирования списка; б)операции над списками: удалить элемент из списка, добавить эле-

мент в список, найти элемент в списке; в) способы вывода списка.

2.Разработать алгоритм решения задачи.

3.Составить программу решения задачи.

4.Отладить программу.

Контрольныевопросы

Все вопросы в данном пункте рассматриваются для списка, элементами которого являются следующие объекты:

struct zvn { int inf; zvn *lf, *rt;}

1.Как определитьобъект для списка,элементами которого являются числа.

2.Как определитьобъект для списка,элементами которого являются слова.

3.Как определить объект для списка, элементами которого являются указатели.

4.Определены переменные: zvn *fst = NULL, *en = NULL, *r. Указате-

ли fst, en, r – соответственно для адреса первого, последнего элемента списка и промежуточных значений адресов переменных типа zvn. Сформирован список, с элементами типа zvn. Напишите коды перебора элементов списка.

5.Перечислите информацию, которая необходима для того, чтобы удалить из списка со значением, равным некоторому числу k.

6.Перечислите информацию, которая необходима для того, чтобы в список добавить элемент со значением равным некоторому числу k.

7.Определены переменные: zvn *fst = NULL, *en=NULL, *r. Сформи-

рован список. Пусть в указателе en находится адрес последнего элемента списка. Напишите коды присоединение нового элемента типа zvn к списку.

Языки программирования. Метод. указания по лаб. работам

-72-

ЛАБОРАТОРНАЯ РАБОТА № 14 ДВУСВЯЗНЫЕ ЛИНЕЙНЫЕ СПИСКИ

Контрольные вопросы

8.В указателе r находится адрес некоторого элемента списка. Напишите код вывода элемента списка, который является пятым относительно данного. Циклы не использовать. Ответ должен состоять из одной директивы.

9.В указателе r находится адрес некоторого элемента списка. Напишите код вывода элемента списка, относительно которого данный элемент является пятым. Циклы не использовать. Ответ должен состоять из одной директивы.

10.Определены переменные: zvn *fst = NULL, *en=NULL, *r. Объясните код r -> lf.

11.Определены переменные: zvn *fst = NULL, *en=NULL, *r. Объясните код r -> inf.

12.Определены переменные: zvn *fst = NULL, *en=NULL, *r. Объясните код r = r -> lf.

13.Определены переменные: zvn *fst = NULL, *en=NULL, *r. Объясните код r ->lf->lf->lf-> lf-> inf.

14.Определены переменные: zvn *fst = NULL, *en=NULL, *r. Объясните код r -> rt -> rt -> rt -> rt -> inf.

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

16.Перечислите информацию, которая необходима для того, чтобы новый элемент стал головным (первым) элементом списка.

17.Определены переменные: zvn *fst = NULL, *en=NULL, *r. Объясните код r -> rt;

18.Определены переменные: zvn *fst = NULL, *en=NULL, *r. Объясните код r = r -> rt;

Выполнить задание лабораторной работы № 11, используя двусвязный линейный список.

Языки программирования. Метод. указания по лаб. работам

-73-

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]