最近刚开始学习算法,下面是自己最近学习算法的一些小收获。作为初学者,可能会有错在地方,请在评论区指出,谢谢。
下面开始是头插法创建双向链表
创建思路:
1.申请新节点p,分配内存,存放新数据;
2.将p的指向前驱的指针域指向头节点;
3.将p的指向后继的指针域指向头节点的后继;
4.将头节点的指向后继的指针域指向p;
5.原首元节点指向前驱的指针域指向p;
void creat_H(DuLinkList &L)
{
int x;
cout<<"*";
while(cin>>x)
{
//申请新节点p,分配内存,存放新数据
DuLinkList p=new DuLNode;
p->n=x;
//将p的指向前驱的指针域指向头节点
p->prior=L;
//将p的指向后继的指针域指向头节点的后继
p->next=L->next;
//将头节点的指向后继的指针域指向p
L->next=p;
//原首元节点指向前驱的指针域指向p
L->next->prior=p;
}
getchar();
cin.clear();
}