| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 516 人关注过本帖
标题:帮我看下 链表的的问题,看不懂,迷糊。
只看楼主 加入收藏
wldnscjf
Rank: 2
等 级:论坛游民
帖 子:20
专家分:14
注 册:2013-1-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
帮我看下 链表的的问题,看不懂,迷糊。
程序代码:
下面的内容无法理解是什么意思,对于链表很迷糊。。。
刚学链表,老师讲课时写了一大堆,无法理解,帮帮我,该怎么读懂(理解)下面的内容啊????小弟 先谢了!
# include <stdio.h>
# include <malloc.h>
# include <stdlib.h>

typedef struct Node
{
    int data;
    struct Node * pNext;
}NODE, *PNODE;

PNODE create_list(void);
void traverse_list(PNODE pHead);
bool is_empty(PNODE pHead);
int length_list(PNODE);
bool insert_list(PNODE, int, int);
bool delete_list(PNODE, int, int *);
void sort_list(PNODE);

int main(void)
{
    PNODE pHead =NULL;
   
    pHead = create_list();
    traverse_list(pHead);
    int len = length_list(pHead);
    printf ("链表的长度是%d\n", len);

    sort_list(pHead);
    traverse_list(pHead);

/*    if (is_empty(pHead))
        printf ("链表为空\n");
    else
        printf ("链表不空\n");
*/   
    return 0;
}

PNODE create_list(void)
{
    int len;
    int i;
    int val;
   
    PNODE pHead = (PNODE)malloc(sizeof(NODE));
    if (NULL == pHead)
    {
        printf ("分配失败,程序终止!\n");
        exit(-1);
    }
    PNODE pTail = pHead;
    pTail->pNext = NULL;
   
    printf ("请输入您需要生成的链表节点的个数: len = ");
    scanf ("%d", &len);
   
    for (i=0; i<len; ++i)
    {
        printf ("请输入第%d个节点的值:", i+1);
        scanf ("%d", &val);
       
        PNODE pNew = (PNODE)malloc(sizeof(NODE));
        if (NULL == pNew)
        {
            printf ("分配失败,程序终止!\n");
            exit(-1);
        }
        pNew->data = val;
        pTail->pNext = pNew;
        pNew->pNext = NULL;
        pTail = pNew;
    }
    return pHead;
}
void traverse_list(PNODE pHead)
{
    PNODE p = pHead->pNext;

    while (NULL != p)
    {
        printf ("%d     ", p->data);
        p = p->pNext;
    }
    printf ("\n");
    return;
}
bool is_empty(PNODE pHead)
{
    if (NULL == pHead->pNext)
        return true;
    else
        return false;
}
int length_list(PNODE pHead)
{
    PNODE p = pHead->pNext;
    int len = 0;
    while (NULL != p)
    {
        ++len;
        p = p->pNext;
    }
    return len;
}
void sort_list(PNODE pHead)
{
    int i, j, t;
    int len = length_list(pHead);
    PNODE p, q;
    for (i=0,p=pHead->pNext; i<len-1; ++i,p=p->pNext)
    {
        for (j=i+1,q=p->pNext; j<len; ++j,q=q->pNext)
        {   
            if (p->data > q->data)
            {
                t = p->data;
                p->data = q->data;
                q->data = t;
            }
        }
    }
    return;
}


[ 本帖最后由 wldnscjf 于 2013-1-27 04:05 编辑 ]
搜索更多相关主题的帖子: 老师 
2013-01-27 03:55
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:7 
化繁为简,化整为零,慢慢细读,不知不觉中慢慢就理解了

www.qunxingw.wang
2013-01-27 08:32
不玩虚的
Rank: 9Rank: 9Rank: 9
来 自:四川
等 级:贵宾
威 望:10
帖 子:331
专家分:1301
注 册:2012-12-9
收藏
得分:7 
慢慢看,具体那不懂再讨论!

同学习......同进步....你帮我......我帮你.....上善若水.....
2013-01-28 21:43
wldnscjf
Rank: 2
等 级:论坛游民
帖 子:20
专家分:14
注 册:2013-1-27
收藏
得分:0 
我反复看视频,看视频也是大部分听不懂,看不懂,有的地方懂了,但过了一会,又全忘了。。。郁闷啊~~~~~~

找了很多视频,但没有,写完一个内容后,解读的
2013-01-29 03:51
caoboxx
Rank: 1
来 自:广西柳州
等 级:新手上路
帖 子:10
专家分:9
注 册:2013-1-22
收藏
得分:7 
怎么看,这个程序的几个函数的逻辑有问题唉
2013-01-29 14:36
wldnscjf
Rank: 2
等 级:论坛游民
帖 子:20
专家分:14
注 册:2013-1-27
收藏
得分:0 
回复 5楼 caoboxx
嗯,这个逻辑有点问题
慢慢来吧
2013-01-30 03:30
快速回复:帮我看下 链表的的问题,看不懂,迷糊。
数据加载中...
 
   



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

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