struct LinkList
{
}
LinkList* Tail_Create_LinkList()
{
LinkList H;
H = new LinkList();
if(!H)
{
cout<<"申请空间失败";
return 0;
}
H->next = nullptr;
cout<<"输入单链表元素(负数结束):"
LinkLIst* p,r;
p = r = new LinkList();
cin>>p->data;
p->next = nullptr;
while(p->data>=0)//负数结束的判断条件
{
if(!H->next)//空表,将p接入表头
{
H->next = p;
}
else//非空,接入表尾
{
r->next = p;
}
r = p;
p = new LinkList();
cin>>p->data;
p->next = nullptr;
}
return H;
}
LinkList* Copy_LinkList(LinkList* H)
{
LinkList* G;
G = new LinkList();
if(!G)
{
cout<<"申请空间失败";
return 0;
}
G->next = nullptr;
LinkList* p,r;
LinkList* h = H->next;
r = new LinkList();
while(h)
{
p = new LinkList();
p->data = h->data;
p->next = nullptr;
if(!G->next)
{
G->next = p;
}
else
{
r->next = p;
}
r = p;
h = h->next;
}
return G;
}
关于单链表的复制
最新推荐文章于 2024-08-01 18:44:55 发布