循環リンク リスト (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;
}
}