问题 问答题

设某带头结点的单链表的结点结构说明如下:
typedef struct nodel

int data;
struct nodel*next;
node;
试设计一个算法:void copy(node*head1, node*head2),将以head1为头指针的单链表复制到一个不带有头结点且以head2为头指针的单链表中。

答案

参考答案:

算法描述如下:

void copy(node* headA, node*headB)

{ node*p, *q;

headB=(node*) malloc(sizeof(node) )

q=headB; p=headA->next;

while(p!=NULL)

{

s=(node*)malloc (sizeof(node));

s->data=p->data;

q->next=s;

q=s;

p=p->next;

}

q->next=NULL;

p=headB;

headB=headB->next;

free(p);

}

选择题
填空题