已知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,…,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的判空条件是_____;不带头结点的单循环链表的判空条件是_____。

带头结点的链表为空的判断条件是( )(设头指针为head)。 A、head->next==headB、head->next==NULLC、head!=NULLD、head ==NULL

要在一个带头结点的单向循环链表中删除头结点,得到一个新的不带头结点的单向循环链表,若结点的指针域为next,头指针为head,尾指针为p,则可执行head=head-> next; p->next=head。() 此题为判断题(对,错)。

完善算法:已知单链表结点类型为:函数create建立以head为头指针的单链表。

带有头结点的单循环链表的头指针为head,则该链表为空的判定条件是()。A、head==NULB、head-next==NULLC、head!=NULLD、head-next==head

若不带头结点的单链表的头指针为head,则该链表为空的判定条件是 ( )A.head==NULLB.head—>next==NULLC.head!=NULLD.head—>next==head

若不带头结点的单链表中,头指针为head,则该链表为空的判定条件是(25)。A.head==NULLB.head->next==NULLC.head!=NULLD.head->next==head

带头结点的单向链表的头指针为head,该链表为空的判定条件是()的值为真。Ahead==NULLBhead-next==headChead-next==NULLDhead==head-next

设head1和p1分别是不带头结点的单向链表A的头指针和尾指针,head2和p2分别是不带头结点的单向链表B的头指针和尾指针,若要把B链表接到A链表之后,得到一个以head1为头指针的单向循环链表。单向链表的链域为next,设指针p指向单向链表中的某个结点,指针s指向一个要插入链表的新结点,现要把s所指结点插入p所指结点之后,某学生采用以下语句:p-next=s;s-next=p-next;这样做正确吗?若正确则回答正确,若不正确则说明应如何改写?

某带头结点的单链表的头指针为head,判定该链表为空的条件是()

某带头结点的单链表的头指针为head,判定该链表为非空的条件是()。

某带头结点的单链表的头指针head,判定该单链表非空的条件()。

头指针为head的带头结点的单向循环链表,p所指向尾结点,要使该链表成为不带头结点的单向循环链表, 可执行head=head-nex;和()。A、p=head-nextB、head-next=pC、head-next=p-nextD、p-next=head

设head1和p1分别是不带头结点的单向链表A的头指针和尾指针,head2和p2分别是不带头结点的单向链表B的头指针和尾指针,若要把B链表接到A链表之后,得到一个以head1为头指针的单向循环链表。写出其中两个关键的赋值语句(不用完整程序,结点的链域为next)。

带头结点的单向链表的头指针为head,该链表为空的判定条件是()的值为真。A、head==NULLB、head-next==headC、head-next==NULLD、head==head-next

要在一个带头结点的单向循环链表中删除头结点,得到一个新的不带头结点的单向循环链表,若结点的指针域为next,头指针为head,尾指针为p,则可执行head=head-next;()。

在一个带头结点的单循环链表中,P指向尾结点的直接前驱,则指向头结点的指针head可用P表示为head=()。

单选题头指针为head的带头结点的单向循环链表,p所指向尾结点,要使该链表成为不带头结点的单向循环链表, 可执行head=head-nex;和()。Ap=head-nextBhead-next=pChead-next=p-nextDp-next=head

填空题在一个带头结点的单循环链表中,P指向尾结点的直接前驱,则指向头结点的指针head可用P表示为head=()。

填空题某带头结点的单链表的头指针为head,判定该链表为空的条件是()

问答题设某带头结头的单链表的结点结构说明如下:typedef struct nodel{int data struct nodel*next;}node;试设计一个算法:void copy(node*headl,node*head2),将以head1为头指针的单链表复制到一个不带有头结点且以head2为头指针的单链表中。

问答题已知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;}}

填空题要在一个带头结点的单向循环链表中删除头结点,得到一个新的不带头结点的单向循环链表,若结点的指针域为next,头指针为head,尾指针为p,则可执行head=head-next;()。

问答题设head1和p1分别是不带头结点的单向链表A的头指针和尾指针,head2和p2分别是不带头结点的单向链表B的头指针和尾指针,若要把B链表接到A链表之后,得到一个以head1为头指针的单向循环链表。单向链表的链域为next,设指针p指向单向链表中的某个结点,指针s指向一个要插入链表的新结点,现要把s所指结点插入p所指结点之后,某学生采用以下语句:p-next=s;s-next=p-next;这样做正确吗?若正确则回答正确,若不正确则说明应如何改写?

填空题某带头结点的单链表的头指针head,判定该单链表非空的条件()。

填空题某带头结点的单链表的头指针为head,判定该链表为非空的条件是()。

问答题设head1和p1分别是不带头结点的单向链表A的头指针和尾指针,head2和p2分别是不带头结点的单向链表B的头指针和尾指针,若要把B链表接到A链表之后,得到一个以head1为头指针的单向循环链表。写出其中两个关键的赋值语句(不用完整程序,结点的链域为next)。