| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1561 人关注过本帖
标题:[求助]查找链表节点编号的函数问题?
只看楼主 加入收藏
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 

那个参数是不必传递,只是我习惯了.


对不礼貌的女生收钱......
2006-08-24 11:12
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-08-24 11:21
han2y
Rank: 1
来 自:山东德州
等 级:新手上路
帖 子:175
专家分:0
注 册:2006-5-4
收藏
得分:0 

全部代码:
#define NULL 0
typedef char ELEMTYPE;
typedef struct node{
ELEMTYPE data;
struct node *next;
}LNODE,*LINKLIST;


LINKLIST list_init() \\链表初始化
{
LINKLIST L;
L=(LINKLIST)malloc(sizeof(LNODE));
L->next=NULL;
return L;
}


void list_insert(LINKLIST L,LINKLIST X) \\插入节点到链表
{
X->next=L->next;
L->next=X;
}

int length(LINKLIST L) \\求链表的长度
{
int i;
LINKLIST P=L;
i=0;
while(P->next!=NULL)
{
i++;
P=P->next;
}

return i;
}




void list_play(LINKLIST L) \\显示链表的节点
{
LINKLIST P;
P=L;
while(P->next!=NULL)
{

P=P->next;
printf("%c",P->data);
}
}

LINKLIST list_delete(LINKLIST L,int i) \\删除链表中指定编号的节点
{
LNODE *p,*r;
int j=1;
p=L;
while(j<=i&&p->next!=NULL)
{ r=p;
p=p->next;
j++;
}
if(j<i||i<=0)
printf("weizhierror");
else
r->next=p->next;
return L;
}


int search_bianhao(LINKLIST L,char m) \\显示链表中指定节点的编号
{
int i=1;
while(L&&L->data!=m&&(L=L->next,i++)) ;
return L?i:0;
}


void main()
{
LNODE *L,*s;
int i;
char c;
L=list_init();
for(i=0;i<5;i++)
{
c=getch();
s=(LINKLIST)malloc(sizeof(LNODE));
s->data=c;
list_insert(L,s);
}
list_play(L);
printf("\n");
list_delete(L,3);
list_play(L);
printf("\n");
c='4';
i=search_bianhao(&L,c);
printf("%d",i);
getch();

}

红色代码运行时出现错误,总是显示'0',如果换成用户'soft_wind'的也一样,怪哉!

'soft_wind'的代码:
int ist_postion(LNODE *head,char ch) \\显示字符在链表里的位置的函数
{
LNODE *p=head;
int i=1;
for(;p;p=p->next)
{
if(p->data==ch)
break;
i++;
}
if(p) return i;
else return 0;
}

[此贴子已经被作者于2006-8-26 15:03:53编辑过]


2006-08-26 14:54
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
i=search_bianhao(L,c);

不要用引用!明显与LNODE * 类型不一致.都说了不要用这种写法!

[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-08-26 15:33
han2y
Rank: 1
来 自:山东德州
等 级:新手上路
帖 子:175
专家分:0
注 册:2006-5-4
收藏
得分:0 
详细解释解释代码问题所在

2006-08-26 16:08
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
以下是引用SunShining在2006-8-26 15:33:07的发言:

明显与LNODE * 类型不一致.


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-08-26 16:18
快速回复:[求助]查找链表节点编号的函数问题?
数据加载中...
 
   



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

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