0

循環リンク リスト (1 センチネル、ダブル リンク) の順序を逆にする関数を作成しようとしています。以下は私のコードです。元のリストは 15、14、11、12 です。新しいリストは 12、11、14、および 15 になると予想します。しかし、15、14、11、および 12 を取得し続けます。誰かが私のコードを見て、私にいくつかのヒント?ありがとうございました!

 void reverseCirListDeque(struct cirListDeque *q)
{

    assert(q != 0);
    assert(!isEmptyCirListDeque(q));


    struct DLink *start = q->Sentinel->next;
    struct DLink *next;
    struct DLink *prev = NULL;

    while (start != NULL)
    {
        //Swap the next and previous link
        next = start->next;
        start->next = prev;
        prev = start;
        start = next;
     }     

}
4

1 に答える 1