读书人

怎么用头插法建立双向链表

发布时间: 2013-04-20 19:43:01 作者: rapoo

如何用头插法建立双向链表
我试了很多遍,尾插法很容易,但头插法一直很蛋疼地敲不出来,麻烦各位大神帮忙一下!
[解决办法]
typedef struct DNode
{
int data;
struct DNode *next;
struct DNode *prior;
}DLinkList;
void CreateListF (DLinkList *&L,int a [??],int n).
{
DLinkList *s;
L=(DLinkList *)malloc(sizeof(DLinkList));
L->prior=L->next=NULL;
for (int i=0;i<n;i++)
{
?s=(DLinkList *)malloc(sizeof(DLinkList));$ t
s->data=a [ i ];
s->next=L->next;
if (L->next != NULL)
L->next->prior=s;
?L->next=s;
s->prior=L;
}

}
[解决办法]
思路如下:
newNode.next = head;
newNode.pre = NULL;
head = newNode;

读书人网 >C++

热点推荐