susijie0021
发表于 2015-12-11 13:38:28
:smile
姜海涛123
发表于 2016-2-1 08:26:06
好得很
慎之,退之
发表于 2016-4-27 14:14:36
看看
浅唱丶
发表于 2016-5-20 08:50:01
来学习
阁龙1427
发表于 2016-8-12 09:34:23
这段时间看看链表
阁龙1427
发表于 2016-8-12 11:00:52
for( i=1; i <= n; i++ )
{
scanf("%d", &e);
p = (dbLinkList)malloc(sizeof(dbLNode));
p->data = e;
p->freq = 0;
p->next = NULL;
p->prior = NULL;
if( !list->next ) // 如果是头结点的话
{
list->next = p;
p->prior = list;
}
else
{
r->next = p;
p->prior = r;
}
r = p;
}
这个代码写的妙
陶逗逗
发表于 2016-10-30 14:44:54
{:10_266:}
bjhjtsy
发表于 2016-11-8 08:18:33
{:10_257:}
gaoxian159753
发表于 2017-2-28 16:11:57
999999999999
赛大爷
发表于 2017-3-1 21:32:13
我郁闷,这个链表,自己写的代码老师有问题
Happyunlimit
发表于 2017-3-9 18:39:01
源代码
初学者.c
发表于 2017-3-13 09:25:55
1
wangjia911
发表于 2017-5-31 20:33:18
学习
wangjia911
发表于 2017-5-31 23:56:15
对老师这道题给出的代码有一些疑问,产生疑问的代码部分如下图:(就是访问双向链表指定元素并改变权重函数中最重要的这部分)
http://xxx.fishc.com/album/201705/31/235127h4gn44kgdj8xg8d4.png
我自己画了一个这部分代码的执行一次while循环的完整过程变化图,图中每个链表的名称完全按照老师定义的变量来命名,如下图:
http://xxx.fishc.com/album/201705/31/233847h2t020rmrto2y9tr.png
http://xxx.fishc.com/album/201705/31/233857akarlm2zt3bmzm29.png
这个流程图完全按照人类习惯的思考方式从左到右将权重高的链表往左侧移动移位,若按照此流程图的顺序转换成代码,如下所示:
s->next = p;
p->prior = s;
p->next = q;
q->prior = p;
q->next = r;
if( r )
{
r->prior = q;
}
用这部分替换我第一张图中标红的部分(老师原始版本的代码),执行结果也完全没问题。
我的疑问如下:
老师实现那部分代码时是怎么的逻辑思维,还是那样写有什么更加深奥的好处,期盼小甲鱼老师或感兴趣的同学帮助解我心头之祸,感谢!
Theen
发表于 2017-10-11 20:34:06
{:5_92:}
1743826350
发表于 2017-10-12 14:58:11
看看看看看看看看看
Tankbaba
发表于 2017-10-16 11:36:23
学习学习
云之彼端星所在
发表于 2017-10-16 12:22:08
666
林梦夕
发表于 2017-10-17 18:16:20
很不错,谢谢分享
ljxll326
发表于 2017-12-23 11:03:02
//