というDLLクラスの関数を書こうとしていますMoveNextToBack
。この関数の目的は、ノードの次のノードをリストの後ろに移動することです。これが私がこれまでに持っているものですが、完全ではないと思います:
void DLL::MoveNextToBack(Node *N){
// If N's next node is the end already, return
if(N->Next == Tail)
return;
// Change N's Next pointer to the one after N's current Next
N->Next = N->Next->Next;
// Change N's Next Next's Previous pointer to point to N
N->Next->Next->Prev = N;
// Move N to the end
N->Next->Next = Tail;
N->Next->Prev = Tail->Prev;
}
不足しているものはありますか?