| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 646 人关注过本帖
标题:双向链表的创建问题
只看楼主 加入收藏
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
结帖率:95.37%
收藏
已结贴  问题点数:20 回复次数:3 
双向链表的创建问题
#include<stdio.h>
#include<stdlib.h>
#define len sizeof(Node)

typedef struct Node
{
    int data;
    struct Node *prior,*next;
}Node,*DoubleLinkList;

void InitDLLinkList(DoubleLinkList *DL)
{
    *DL=(DoubleLinkList)malloc(len);
    (*DL)->next=NULL;
    (*DL)->prior=NULL;
}

void CreatDLLinkList(DoubleLinkList DL)
{
    Node *p,*s;
    p=DL;
    int x,flag=1;
    printf("Please input data and enter 0 end:\n");
    while(flag)
    {
        scanf("%d",&x);
        if(x!=0)
        {
            s=(Node *)malloc(len);
            s->data=x;
            p->next=s;
            s->prior=p;
            s->next=NULL;   
            p=s;
        }
        else
        {
            p->next=DL;
            DL->prior=p;
            flag=0;
        }
    }
   
}

void PrintDLLinkList(DoubleLinkList DL)
{
    Node *p;
    p=DL->next;
    for(;p!=DL;p=p->next);
        printf("%-3d",p->data);
    printf("\n");
}

int main()
{
    DoubleLinkList DL;
    InitDLLinkList(&DL);
    CreatDLLinkList(DL);
    PrintDLLinkList(DL);
    return 0;
}
图片附件: 游客没有浏览图片的权限,请 登录注册


输出的和输入的不一样,哪里错了??
搜索更多相关主题的帖子: Node data next void NULL 
2017-10-11 21:17
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:20 
for(;p!=DL;p=p->next);
多了一个分号,如下即可:
    for(;p!=DL;p=p->next)
        printf("%-3d",p->data);
2017-10-11 21:48
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 2楼 xzlxzlxzl
好的谢谢。

[此贴子已经被作者于2017-10-11 22:43编辑过]

2017-10-11 22:04
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
双向循环链表。
2017-10-11 22:26
快速回复:双向链表的创建问题
数据加载中...
 
   



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

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