数据结构
写出在单链表中的p所指结点之前插入一个s所指结点的操作。
[解决办法]
在数据结构中插入有两种放法:前插和后插:
//采用前插方法
s=(Plist)malloc(sizeof(Node)); //申请节点部分
s->date=number;
s->next = 0;
//插入部分
s->next = p->next;
p->next = s;
//采用后插方法
s=(Plist)malloc(sizeof(Node)); //申请节点部分
s->date=number;
s->next = 0;
//插入部分
p->next=s;
p=s;
[解决办法]
发两个贴都发在不合适的地方,给你转过来。
[解决办法]
void (Link &L,ElemType e)
{
Link *p,*q,s;
s=(Link*)malloc(sizeof(Link));
s->data=e;s->next=NULL;
q=L->next;
while(q->next!=p)
{
q=q->next;
}
q->next=s;
s->next=p;
}
[解决办法]
//在位置pos除插入数据e
void (Link *L,int pos,ElemType e)
{
if(NULL == L)
return;
if(pos <= 0)
return;
Node*p,*q,*s;
s=(Node*)malloc(sizeof(Node));
s-> data=e;
s-> next=NULL;
for(int i = 0;i < pos;i++)
{
q=L-> next;
if(NULL == q)
return;
}
p = q-> next;
q-> next=s;
s-> next=p;
}