C++怎么把一个链表链接到另一个链表的尾部(带头结点)???
答案:2 悬赏:0 手机版
解决时间 2021-02-06 16:26
- 提问者网友:感性作祟
- 2021-02-05 20:52
C++怎么把一个链表链接到另一个链表的尾部(带头结点)???
最佳答案
- 五星知识达人网友:舍身薄凉客
- 2021-02-05 21:28
链表b追加到a的尾部,假设a,b都不为空
node *seekTail = a;
while(seekTail->next != null)
{
seekTail = seekTail->next;
}
seekTail->next = b->next;
node *seekTail = a;
while(seekTail->next != null)
{
seekTail = seekTail->next;
}
seekTail->next = b->next;
全部回答
- 1楼网友:酒者煙囻
- 2021-02-05 21:45
#include
using namespace std;
#define ok 0
#define error -1
class linknode
{
public:
int data;
friend class linklist;
linknode*next;
linknode(){next=null;data=0;}
linknode(int n,linknode *_next)
{
data=n;
next=_next;
}
};
class linklist
{
public:
linknode*head;
int len;
linklist()
{
head=new linknode();
len=0;
}
~linklist()
{
linknode *p,*q;
p=head;
while(p!=null)
{
q=p;
p=p->next;
delete q;
}
len=0;
head=null;
}
int ll_find(int i)
{
linknode *p;
p=ll_get(i);
if(p==null)
{
return 0;
}
return p->data;
}
linknode *ll_get(int i)
{
linknode *p;
int j;
for(p=head,j=0;jnext;
j++;
}
return p;
}
int ll_insert(int item,int i)
{
linknode *p;
p=ll_get(i-1);
if(p==null || i-1<0)
{
return 0;
}
linknode *s=new linknode(item,p->next);
p->next=s;
return 1;
}
int ll_del(int i)
{
linknode *p;
p=ll_get(i-1);
if(p==null || p->next==null || i-1<0)
{
return 0;
}
linknode *s=p->next;
p->next=s->next;
delete s;
return 1;
}
void ll_display()
{
linknode *p;
p=head->next;
while(p)
{
cout<data<<' ';
p=p->next;
}
cout<>n;
for(i=0;i>d;
p.ll_insert(d,i+1);
}
p.ll_display();
for(j=0;j<2;j++)
{
cin>>i>>d;
if(p.ll_insert(d,i)==0)
cout<<"error"<>i;
if(p.ll_del(i)==0)
{
cout<<"error"<>i;
if(p.ll_find(i)==0)
cout<<"error"<
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯