Удаление элемента перед указанным параметром в двойном списке - PullRequest
0 голосов
/ 04 ноября 2011

Я не уверен, как связать два узла вместе. Я понимаю, что для того, чтобы связать первый с третьим (потому что я удаляю второй), я использую что-то вроде crt.next = crt.next.next, но как мне связать узел с этим узлом? назад

Пример:

X1 <> x2 <> X3 <> x4 <> x5 Я хочу удалить х3. поэтому я связываю x2 с x4 с помощью crt.next = crt.next.next Я не знаю, как вернуть x4 обратно в x2.

Спасибо

Ответы [ 2 ]

0 голосов
/ 24 марта 2012

Связывание x4 с x2 будет

crt.next.next.prev=crt;

тогда нужно освободить память x3

free(x3);
0 голосов
/ 04 ноября 2011

После того, как вы сделаете

crt.next = crt.next.next

Вы можете сделать:

crt.next.prev = crt

, так как вы хотите связать crt как предыдущую ссылку из crt.next.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...