ViVi Home > 技術文書 > ポインタ入門 > 構造体演習問題 > nthNode


 

 

C/C++ ポインタ入門 > 構造体 > nthNode
Nobuhide Tsuda
Jan-2014

環状リストからnth番目のノードを取得

Node *nthNode(Node *root, int nth)
{
    Node *ptr = root;
    while( --nth >= 0 ) {   // nth 回ループ
        if ((ptr = ptr->m_next) == root) {      // ptr を次のノードに移動
            return 0;      // 先頭に戻ってきてしまった場合
        }
    }
    return ptr;
}

解説:

 


前: | 次: