У меня есть следующая структура для связанного списка.Удаление предыдущей записи дубликата в связанном списке
typedef struct value value;
struct value{
value* prev;
value* next;
int value;
};
...
//ent = entry
if(entry_head == NULL) {
entry_head = ent;
entry_tail = ent;
entry_tail->prev = NULL;
}
else { // add to top
ent -> next = entry_head;
ent -> prev = NULL;
entry_head -> prev = ent;
entry_head = ent;
}
Это дает мне результаты:
Input: a Result: b
b a
Однако, когда я входной два одних и тех же переменных, я хочу, чтобы удалить предыдущую переменную и имеют только недавно входную переменную. то есть.
Input: a // old Result: a // new Actual Result: a // new
a // new a // old
Как изменить это, чтобы удалить прежнюю переменную?
Вам действительно нужно удалить первый? Альтернативный подход заключается в том, чтобы не добавлять второй. Но это зависит от ваших требований. – kaylum