标题:[求助]链串中实现插入操作是怎么实现得
只看楼主
木木老头
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-11-10
 问题点数:0 回复次数:3 
[求助]链串中实现插入操作是怎么实现得
下面是书上得一个函数,把串t插入到串s的第i个字节的前面:
请指教下是怎么把第i个结点以后的加回去的,谢谢
int insert(linkstr *s,int i,linkstr *t)
{int j;linkstr *p,*q,*r;
if(i<=0||i>length(s)+1)return 0;
for(j=0,r=s;j<i-1;j++)r=r->next;
p=t->next;
while(p!=NULL)
{q=(linkstr *)malloc(sizeof(linkstr));
q->ch=p->ch;
q->next=r->next;
r->next=q;
r=q;
p=p->next;
}
return 1;
}

搜索更多相关主题的帖子: next linkstr int return 
2007-11-05 21:39
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
链表的插入没有移动的操作,它只要找到最后一个结点,然后直接链过去就行.
不过结构有点乱.

倚天照海花无数,流水高山心自知。
2007-11-06 12:32
木木老头
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-11-10
得分:0 

那我想问下,这书上的操作到底能不能实现呢


我想学好程序!
2007-11-06 17:34
柒兲
Rank: 1
等 级:新手上路
威 望:1
帖 子:126
专家分:0
注 册:2007-9-26
得分:0 
int insert(linkstr *s,int i,linkstr *t)
{
int j;linkstr *p,*q,*r;
if(i<=0||i>length(s)+1)
return 0;
for(j=0,r=s;j<i-1;j++)
r=r->next;
p=r->next;
while(r->next!=NULL)
{
q=(linkstr *)malloc(sizeof(linkstr));
q->ch=p->ch;
q->next=r->next;
r->next=q;
r=q;
//p=p->next;
}
return 1;
}

[此贴子已经被作者于2007-11-7 12:48:31编辑过]


2007-11-07 12:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-183762-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.213518 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved