吸血鬼美剧排行榜:c语言题目

来源:百度文库 编辑:高校问答 时间:2024/04/30 05:35:54
实现一个函数,接受一个链表的头指针,复制该链表,并返回复制的链表的头指针。

谢谢!

struct node{
int n;
node *next;
};

/*假设源链表的尾结点的指针域为NULL*/

node *lcopy(node *src)
{
node *head, *p, *q;
head = p = NULL;
if (src != NULL)
{
head = p = q = (node *)malloc(sizeof(node));
head->n = src->n;
head->next = NULL;
}
while (src->next != NULL)
{
src = src->next;
p = (node *)malloc(sizeof(node));
p->n = src->n;
p->next = NULL;
q->next = p;
q = p;
}

return head;
}

struct Node
{
int value;
Node *next;
};

Node * CopyFuc(Node *head)
{
//head 为给定的链表头
if(head==NULL)
{
return NULL;
}
Node *pHead,*pLoop; //pLoop、pHead只是个中介
pLoop = head;
Node *p = new Node;//构建表头
p->value = pLoop->value;
pHead = p;
pLoop = pLoop->next;
while(pLoop!=NULL)
{
Node *p= new Node;
p->value = pLoop->value;
pHead->next = p;

pHead = p;
pLoop = pLoop->next;
}
pHead->next = NULL;
return p;
}