我正在尝试编写一个函数来反转循环链接列表(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;
}
}