• 2021-04-14
    一个单向链表,head指向头结点,每个结点包含数据域data和指针域next。完成以下函数,求出所有结点数据域的和值并作为函数值返回。structlink{intdata;structlink*next;};structlink*head;sum(________){structlink*p;ints=0;p=head->next;while(p){s+=________;p=________;}return(s);}
  • 第一空: struct link *head 第二空: p->data 第三空: p->next

    举一反三

    内容

    • 0

      对于一个非空的循环单链表,若头指针为head,假设指针myrear指向表中的最后一个结点,如果要在非空的循环单链表的最前面插入一个新结点p,则执行( )。 A: p->next=head;myrear->next=p;head=p; B: head->next=p;myrear->next=p;head=p; C: myrear->next=p;head=p;head->next=p; D: myrear->next=p;head=p;p->next=head;

    • 1

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

    • 2

      设有头指针为head的带有头结点的非空单向循环链表,指针p指向其尾结点,要删除头结点,并使其仍为单向循环链表,则可利用下述语句head =head->next ;()。 A: p=head; B: p=NULL; C: p->next=head; D: head=p;

    • 3

      在带有头结点的单链表Head中,要向表头结点之后插入一个由指针p指向的结点,则执行( )。 A: p->next=Head->next; Head->next=p; B: p->next=Head; Head=p; C: p->next=Head; p=Head; D: Head=p;p->next=Head;

    • 4

      设有头指针为head的不带头结点的非空的单向循环链表,指针p指向其尾结点,要删除第一个结点,则可利用下述语句 head=head->next;和()。 A: p=head; B: p=NULL; C: p->next=head; D: head=p;