已知head为带头结点的单循环链表的头指针,链表中的数据元素依次为(a1,a2,a3,a4,…已知head为带头结点的单循环链表的头指针,链表中的数据元素依次为(a1,a2,a3,a4,…,an),A为指向空的顺序表的指针.阅读以下程序段,并回答问题:(1)写出执行下列程序段后的顺序表A中的数据元素;(2)简要叙述该程序段的功能.if(head->next!=head){p=head->next;A->length=0;while(p->next!=head){p=p->next;A->data[A->length++]=p->data;if(p->next!=head)p=p->next;}}

问题描述:

已知head为带头结点的单循环链表的头指针,链表中的数据元素依次为(a1,a2,a3,a4,…
已知head为带头结点的单循环链表的头指针,链表中的数据元素依次为(a1,a2,a3,a4,…,an),A为指向空的顺序表的指针.阅读以下程序段,并回答问题:
(1)写出执行下列程序段后的顺序表A中的数据元素;
(2)简要叙述该程序段的功能.
if(head->next!=head)
{
p=head->next;
A->length=0;
while(p->next!=head)
{
p=p->next;
A->data[A->length++]=p->data;
if(p->next!=head)p=p->next;
}
}

1、A的data数组中元素依次为a2,a4,a6...,A的length元素为(n/2)下取整
2、该程序将单循环链表中排在偶数次序的元素(也就是第2,4,6,8,10...)赋值到顺序表A中