Несколько доп. задач на работу со списками:

Правила те же:

1. Опишите функцию, которая в данном списке удаляет первый элемент.

2. Опишите функцию, которая в данном списке удаляет элемент с номером n. (Если такого элемента нет, то ничего не делает).

3. Опишите функцию, которая возвращает указатель на последний элемент списка. С помощью этой функции увеличьте последний элемент какого-нибудь списка в два раза.

4. Опишите функцию, которая создает новый список из тех же элементов, но записанных в обратном порядке. Например, если в исходном списке были числа, 1, 2, 3, 4, то в новом списке должны оказаться числа 4, 3, 2, 1.

5.* (1 балл) Пусть у нас есть список и указатель на его последний элемент. "Разверните" список на месте, т.е., не создавая новые элементы, переставьте указатели так, чтобы элементы шли в обратном порядке. Т.е., например, если в исходном списке были числа, 1, 2, 3, 4, то в результате first должен указывать на 4, next для 4 - на 3 и т.д. Можно считать, что в списке точно не меньше двух элементов.

Замечание: Это задача не очень простая. Ничего особенно хитрого в ней нет, но надо аккуратно переставить все указатели на новые места. Если вам это удастся, значит с темой указателейы хорошо разобрались! Если нет, тоже не расстраивайтесь:)

Hosted by www.Geocities.ws

1