| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1907 人关注过本帖, 1 人收藏
标题:分享:简单的链表操作
只看楼主 加入收藏
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 10楼 wp231957
好奇怪,你最后那串奇怪的数字怎么多出来的?
你在两次打印的时候,用了两个不同的打印函数,应该是第二个函数的问题。

[此贴子已经被作者于2017-3-21 20:48编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-03-21 20:45
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用renkejun1942在2017-3-21 20:45:57的发言:

好奇怪,你最后那串奇怪的数字怎么多出来的?
你在两次打印的时候,用了两个不同的打印函数,应该是第二个函数的问题。
用第一个打印函数 打不全啊  丢失一个节点
所以我才问你 那个current 是不是第一节点呢

DO IT YOURSELF !
2017-03-21 20:49
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 12楼 wp231957
他是一个节点的。
如果是一级指针,那么他就是节点。
如果是二级指针,那么他是根指针。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-03-21 20:55
烟雨晨曦
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:150
专家分:599
注 册:2017-3-5
收藏
得分:0 
回复 12楼 wp231957
原因我回复给你了,在原来帖子里
2017-03-21 20:55
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
有一个节点不见了。然后多出了一个奇怪的数字。
终于知道是在linkcre的问题,具体还在看这个函数。这个函数好复杂啊,楞是没搞清楚彼此的关系。

那个神秘数字应该是在malloc的锅,因为他分配了空间,但是你没有对他进行初始化。

[此贴子已经被作者于2017-3-21 21:08编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-03-21 20:57
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用renkejun1942在2017-3-21 20:57:13的发言:

Node *
ReverseList( Node *first )
{
    Node *current;
    Node *next;

    for( current = NULL; NULL != first; first = next )
    {//first往前遍历,next保存下一节点。这样,first的值就是需要修改的值。
        next = first->Next;
        first->Next = current;
        current = first;
    }

    return current;
}

这个函数没有办法返回新的head吗

DO IT YOURSELF !
2017-03-21 21:05
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 16楼 wp231957
我不太明白,你说的Head是什么,是头节点,还是头指针。

如果是头节点的话,那么他返回的就是头节点。具体的,我在9楼还是几楼给了你回复。
如果是头指针的话,一级指针,函数无法访问头指针。

[此贴子已经被作者于2017-3-21 21:07编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-03-21 21:06
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
回复 17楼 renkejun1942
这又把我绕迷糊了

申请个头指针  就是内存定一下位(给个地方) 然后就没她啥事了

然后head-> next 才是第一个节点的数据  那么 她是头节点啊 还是不是啊

DO IT YOURSELF !
2017-03-21 21:10
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 18楼 wp231957
就算你是用它当第一个节点,这个节点是有名字的,俗称哑节点,意思是没他什么事。
但是即使是这样,你也应该对他初始化啊,最起码,把它的值设置为了NULL。
而且,既然他是一个完整的节点,那么还需要head做什么呢?

我看了好久,没看懂你那个函数各个指针之间的关系。

[此贴子已经被作者于2017-3-21 21:15编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-03-21 21:12
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
改成这样就可以了
程序代码:
pdate linkcre(void)
{
    pdate head,pfirst,psecond;
    tdate cr[8]=
    {
        {10,10,2000},{11,11,2012},{05,05,2005},{01,01,2006},{12,30,2016}
        ,{01,01,2005},{02,02,2008},{03,03,2009}
    };
    pfirst=(pdate)malloc(sizeof(tdate));
    head=pfirst;
    head->month=0;
    head->day=0;
    head->year=0;
    head->next=NULL;
    psecond=pfirst;
    int i;
    for(i=0;i<N;i++)
    {
        pfirst=(pdate)malloc(sizeof(tdate));
        pfirst->month=cr[i].month;
        pfirst->day=cr[i].day;
        pfirst->year=cr[i].year;
        pfirst->next=NULL;
        psecond->next=pfirst;
        psecond=pfirst;
    }
    return head;
}
不过逆序时 会多三个 0  也是不对
说明你们的判断是对的 毛病在这里

DO IT YOURSELF !
2017-03-21 21:20
快速回复:分享:简单的链表操作
数据加载中...
 
   



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

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