鱼C论坛

 找回密码
 立即注册
楼主: 小甲鱼

[技术交流] 带权重的双向链表(线性表)

  [复制链接]
发表于 2015-12-11 13:38:28 | 显示全部楼层
:smile
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-2-1 08:26:06 | 显示全部楼层
好得很
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-4-27 14:14:36 From FishC Mobile | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-5-20 08:50:01 From FishC Mobile | 显示全部楼层
来学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-12 09:34:23 | 显示全部楼层
这段时间看看链表
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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;
    }

这个代码写的妙
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-30 14:44:54 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-11-8 08:18:33 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-2-28 16:11:57 | 显示全部楼层
999999999999
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-1 21:32:13 | 显示全部楼层
我郁闷,这个链表,自己写的代码老师有问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-9 18:39:01 | 显示全部楼层
源代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-13 09:25:55 From FishC Mobile | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-5-31 20:33:18 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-5-31 23:56:15 | 显示全部楼层
对老师这道题给出的代码有一些疑问,产生疑问的代码部分如下图:(就是访问双向链表指定元素并改变权重函数中最重要的这部分)

                               
登录/注册后可看大图

我自己画了一个这部分代码的执行一次while循环的完整过程变化图,图中每个链表的名称完全按照老师定义的变量来命名,如下图:

                               
登录/注册后可看大图


                               
登录/注册后可看大图


这个流程图完全按照人类习惯的思考方式从左到右将权重高的链表往左侧移动移位,若按照此流程图的顺序转换成代码,如下所示:
        s->next = p;
        p->prior = s;
        p->next = q;
        q->prior = p;
        q->next = r;
        if( r )
        {
            r->prior = q;
        }
用这部分替换我第一张图中标红的部分(老师原始版本的代码),执行结果也完全没问题。

我的疑问如下:
老师实现那部分代码时是怎么的逻辑思维,还是那样写有什么更加深奥的好处,期盼小甲鱼老师或感兴趣的同学帮助解我心头之祸,感谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-11 20:34:06 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-10-12 14:58:11 | 显示全部楼层
看看看看看看看看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-16 11:36:23 | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-16 12:22:08 From FishC Mobile | 显示全部楼层
666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-10-17 18:16:20 | 显示全部楼层
很不错,谢谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-23 11:03:02 | 显示全部楼层
//
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 08:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表