问题
问答题
设某带头结点的单链表的结点结构说明如下:
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);
}