ViVi Home > 技術文書 > ポインタ入門 > 構造体演習問題 > deleteAllNodes
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 も解放 }
解説:
前: | 次: