c语言中双向链表如何修改其中元素的位置

C/C++ code

想了半天 做不来


typedef struct tag_UR_ListNode 
{
    unsigned int User;         //数据域
    tag_ListNode *pPrior;                    //前驱节点
    tag_ListNode *pNext;                     //后续节点
}UR_LISTNODE,*LPUR_LISTNODE;






比如上面一个双向链表里面我插入了很多节点,我想要修改某一个节点的位置到另外一个位置 如何实现?
好难,这算法题,哪位高手帮忙实现下

C/C++ code


BOOL DoubleList_Change(LPUR_LISTNODE lpListHead,unsigned int Pn,unsigned int User)  //第一个参数是要修改的链表,第二个参数是要修改到的位置,第三个参数是要修改的用户


作者: qwert1643ou65923   发布时间: 2011-06-16

把这个节点从一个位置删除,再把节点插入到指定的位置?
是这个意思么?
都是链表的基本操作。

作者: elated   发布时间: 2011-06-16

你的函数参数有问题。
要完成你的要求,你至少要提供:
1、双向链表的一个头结点;
2、要修改节点的位置;
3、要重新插入的位置。
你的函数参数只有2个,不能实现你的操作。

作者: zhaolinger2   发布时间: 2011-06-16