linked list removes no longer set next/prev = nil
This commit is contained in:
parent
0e14e5cce5
commit
1e9d82f00e
16
util.d
16
util.d
@ -174,17 +174,16 @@ DLLRemove(T, U)(T* list, U* node, U* nil)
|
||||
node.next.prev = node.prev;
|
||||
node.prev.next = node.next;
|
||||
}
|
||||
|
||||
node.prev = node.next = nil;
|
||||
}
|
||||
|
||||
void
|
||||
DLLPushFront(T, U)(T* list, U* node, U* nil)
|
||||
{
|
||||
node.prev = node.next = nil;
|
||||
|
||||
if (CheckNil(nil, list.first))
|
||||
{
|
||||
list.first = list.last = node;
|
||||
node.prev = node.next = nil;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -198,10 +197,11 @@ DLLPushFront(T, U)(T* list, U* node, U* nil)
|
||||
void
|
||||
DLLPush(T, U)(T* list, U* node, U* nil)
|
||||
{
|
||||
node.prev = node.next = nil;
|
||||
|
||||
if (CheckNil(nil, list.first))
|
||||
{
|
||||
list.first = list.last = node;
|
||||
node.prev = node.next = nil;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -320,17 +320,16 @@ SLLRemove(T, U)(T* list, U* node, U* prev, U* nil)
|
||||
{
|
||||
prev.next = node.next;
|
||||
}
|
||||
|
||||
node.next = nil;
|
||||
}
|
||||
|
||||
pragma(inline) void
|
||||
SLLPushFront(T, U)(T* list, U* node, U* nil)
|
||||
{
|
||||
node.next = nil;
|
||||
|
||||
if (CheckNil(nil, list.first))
|
||||
{
|
||||
list.first = list.last = node;
|
||||
node.next = nil;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -342,10 +341,11 @@ SLLPushFront(T, U)(T* list, U* node, U* nil)
|
||||
pragma(inline) void
|
||||
SLLPush(T, U)(T* list, U* node, U* nil)
|
||||
{
|
||||
node.next = nil;
|
||||
|
||||
if (CheckNil(nil, list.first))
|
||||
{
|
||||
list.first = list.last = node;
|
||||
node.next = nil;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user