2015-07-01 4 views
0

Если у нас есть один указатель, указывающий на последний элемент списка ссылок, и у нас нет другого указателя, указывающего на любой другой узел списка ссылок, тогда можно ли удалить этот последний узел безопасно? По моему мнению, это невозможно.Удаление последнего элемента списка ссылок только с одним указателем

enter image description here

+0

Объясните "удалить"? Если у вас нет никакого смысла указывать указатель на предыдущий узел, чтобы изменить его 'next' на NULL, тогда нет, вы не сможете его удалить. – Eregrith

+0

Когда я говорю, удаление означает правильное удаление. Можно просто освободить этот указатель, но все же предыдущий узел будет иметь адрес недавно удаленного узла, так как он не равен нулю. – niteshnarayanlal

ответ

1

Это не возможно, если у вас нет ссылки на второй последний элемент списка. Вам нужно сделать указатель часть второго последнего элемента null. Так, по моим сведениям, если у вас есть только ссылка на последний элемент, то удаление этого невозможно.

Исключительный случай будет, когда в списке есть только один элемент, который является первым, а также последним элементом. В таком случае освобождение этого элемента не наносит никакого вреда.

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