以下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;
}
}
(A) 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答案: (B)
说明:请参阅链接以获取更多详细信息https://www.geeksforgeeks.org/pairwise-swap-elements-of-a-given-linked-list/
这个问题的测验