| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 15716 人关注过本帖, 5 人收藏
标题:[原创]链表基本操作的程序实现.
取消只看楼主 加入收藏
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

/************************************/
/* 释放链表 */
/************************************/
void Free_Node(node *head)
{
node *p=head->next;
while(p)
{
head->next=p->next;
free(p);
p=head->next;
}
free(head);
}


倚天照海花无数,流水高山心自知。
2007-04-29 13:19
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
结构指针r的开始被赋值为"null", 然后在 while 循环里又令 r->next = p,
是哪,能不能标记一下.

倚天照海花无数,流水高山心自知。
2007-04-30 20:26
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
回复:(hyfz_825) 看到版主写下这么多的代码,真...
算法是在程序中调用的还是怎么样

算法是一个程序的灵魂,就是说是它的思想和指导这个程序应该怎么来实现.

倚天照海花无数,流水高山心自知。
2007-05-05 21:10
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

LS的看的蛮仔细.
我刚写了个小程序测试了一下.
#include "stdio.h"
#include "conio.h"
#include"malloc.h"

typedef struct node{
int data;
struct node *next;
}node ;
main()
{
node *head=(node *)malloc(sizeof(node));
head->next=NULL;
head->next->data=3;
printf("Hello, world%d\n",head->next->data);
getch();
}

#include "stdio.h"
#include "conio.h"
#include"malloc.h"

typedef struct node{
int data;
struct node *next;
}node ;
main()
{
node *r,*head=(node *)malloc(sizeof(node));
head->next=NULL;
r=head->next;
head->next->data=3;
printf("Hello, world%d %d\n",head->next->data,r->data);
getch();
}
总结:我认为.既然已经给r一个指针,它的初始化为空,但不能就判断它就是空指针了.两者是有区别的.不知道我这样解释对不对.

谢谢关注.请大家以后多提意见.


倚天照海花无数,流水高山心自知。
2007-05-08 22:50
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
呵呵,我写的是带头结点的,就是说第一个结点只起引导作用没有实质意义.所以不用比较的.
谢谢建议.

倚天照海花无数,流水高山心自知。
2007-05-11 11:14
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
浪费第一个结点可以简化很多操作的,比如对头结点的判空操作,再比如修改头结点等操作.
其中如果要修改头结点的话,如果不用带头结点的,那就要使用二级指针.

倚天照海花无数,流水高山心自知。
2007-05-12 20:07
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

第一个是头结点,只指示链表的,如果连这个都删了,那这个链表也就不存在了.


倚天照海花无数,流水高山心自知。
2007-06-06 22:21
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

谢谢HJin的建议.

尽管是英文,我还是认真的把他们好好的看完,很庆幸你的英语可以使我明白.
我给出这些代码是因为有很多朋友问到,所以直接把这些写出来,当然没有用注释是我的错.因为我是根据我的思路就这么一路写下来,也就忘了要加注释,,下次有机会,我会做好的.
还有写变量的一些习惯,的确,我这方面也欠佳.希望以后能够改进吧.
希望以后C++进阶,把它做成模板.

再次谢谢你.


倚天照海花无数,流水高山心自知。
2007-06-11 22:24
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

谢谢LS的建议.
但我做的是带头结点的单链表,所以头结点是不参加删除的(没有实质是的内容意义,仅作为链表的指针指向)


倚天照海花无数,流水高山心自知。
2007-06-25 22:21
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用SUN21在2007-9-26 21:39:39的发言:
while(EOF!=(scanf("%d",&x))&&x!=0) //引用楼主语句

请问 EOF!=(scanf("%d",&x)) 这句是什么意思

scanf()函数是用返回值的,当它返回-1时表示输入错误而EOF就是-1.


倚天照海花无数,流水高山心自知。
2007-09-28 14:25
快速回复:[原创]链表基本操作的程序实现.
数据加载中...
 
   



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

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