Node *deleteAllNodes(Node *root)
{
Node *ptr = root;
do {
Node *np = ptr->m_next; // ptr は delete されるので次のノードを取得しておく
delete ptr; // ptr を delete
} while ((ptr = np) != root); // 次のノードに移動し、先頭でなければループ継続
delete root; // root も解放
}
解説:
前: | 次: