返回双向链表中活动元素的值

时间:2014-10-29 20:25:02

标签: c doubly-linked-list

我正在实现一个方法,其中我有一个双向链表和每个节点的数据作为参数。我想返回列表中活动元素的值。

我的代码是:

void DLCopy (tDLList *L, int *val)  {

tDLElemPtr pointer=NULL;
    if(L->Act!=NULL)
    {
        pointer=(tDLElemPtr) malloc(sizeof(struct tDLElem));
        if (pointer == NULL)
        {
            pointer->data=val;
            pointer->rptr = L->Act->rptr;
            pointer->lptr = L->Act;
            L->Act->rptr = pointer;
            L->Act->lptr = NULL;
        }
        else
        {
            DLError();
        }
    }

}

任何想法??

它给了我返回值= -2无论如何。

提前感谢。

1 个答案:

答案 0 :(得分:0)

如果您正在尝试获取活动元素的值,那么它似乎只是:

void DLCopy (tDLList *L, int *val)  
{
   if (L != NULL && L->Act != NULL && val != NULL) 
   {
      *val = L->Act->data;
   }
   else if (val != NULL)
   {
       *val = 1234;  // Default value if no active element (if desired)
   }
}

注意:DLCopy()不是此功能的好名称。