现在的位置: 首页 > 综合 > 正文

双链表之终极创建

2013年10月05日 ⁄ 综合 ⁄ 共 659字 ⁄ 字号 评论关闭

typedef struct try node;//dlist
struct try
    {
        node *fwd;
        node *bwd;
        int num;
    };
node *credlist(void)           /**创建双链表*/
{
    node *root,*next;
    root=(node *)malloc(sizeof(node));//根节点
    if(root==NULL) return NULL;
    root->fwd=root->bwd=NULL;
    while (scanf("%d",&root->num)!=EOF)  
    {
        if((next=(node *)malloc(sizeof(node)))==NULL)
            break;
        next->num=root->num;
        if (root->fwd==NULL)
        {
            root->fwd=next;
            next->bwd=NULL;
        }
        else
        {
            root->bwd->fwd=next;
            next->bwd=root->bwd;
        }
        root->bwd=next;
    }
    if(root->fwd!=NULL)
        root->bwd->fwd=NULL;
    return root;
}

抱歉!评论已关闭.