Chinaunix首页 | 论坛 | 博客
  • 博客访问: 340526
  • 博文数量: 72
  • 博客积分: 2130
  • 博客等级: 大尉
  • 技术积分: 857
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-05 16:10
文章分类

全部博文(72)

文章存档

2010年(5)

2009年(14)

2008年(53)

分类: C/C++

2008-10-06 11:34:03

typedef struct dnode
{
        int data;
        struct dnode *prior;
        struct dnode *next;
}DNode;

DNode *createDNode(void)
{
        DNode *head = NULL;
        DNode *p = NULL;
        DNode *q = NULL;
        int n = 0;
        int i = 0;

        printf("\n请输入双向链表的长度:");
        scanf("%d",&n);
        if((head=(DNode *)malloc(sizeof(DNode)))==NULL)
        {
                printf("分配内存失败\n");
                exit(0);
        }
        head->data = n;
        head->prior = NULL;
        head->next = NULL;
        p = head;

        printf("请输入这%d个整数,以q结束:\n",n);
        for(i=0; i        {
                if((q=(DNode *)malloc(sizeof(DNode)))==NULL)
                {
                        printf("分配内存失败\n");
                        exit(0);
                }
                scanf("%d\n",&(q->data));
                q->next = NULL;
                p->next = q;
                q->prior = p;
                p = q;
        }
        p->next = NULL;
        p->prior = NULL;
        return head;
}

阅读(882) | 评论(0) | 转发(0) |
0

上一篇:单链表的删除

下一篇:双链表的打印

给主人留下些什么吧!~~