下面的 C函数将整数的单向链接列表作为参数并重新排列列表的元素。该列表表示为指向结构的指针。使用包含给定顺序的整数 1、2、3、4、5、6、7 的列表调用该函数。函数执行完成后列表的内容是什么?
struct node {
int value;
struct node *next;
);
void rearrange (struct node *list)
{
struct node *p, *q;
int temp;
if (!list || !list -> next)
return;
p = list;
q = list -> next;
while (q)
{
temp = p -> value;
p -> value = q -> value;
q -> value = temp;
p = q -> next;
q = p ? p -> next : 0;
}
}
(一) 1, 2, 3, 4, 5, 6, 7
(B) 2, 1, 4, 3, 6, 5, 7
(C) 1, 3, 2, 5, 4, 7, 6
(D) 2, 3, 4, 5, 6, 7, 1答案:(乙)
说明:请参阅链接了解更多详情 https://www.geeksforgeeks.org/pairwise-swap-elements-of-a-given-linked-list/
这个问题的测验