Professional Documents
Culture Documents
Doubly Linklist
Doubly Linklist
#include<iostream>
#include<conio.h>
using namespace std;
class list
{
private:
dNode* dHead;
dNode* dCur;
dNode* dt;
public:
list()
{
dHead=NULL;
}
void dList(int n)//create doubly link list
{
if(dHead==NULL)
{
dHead=new dNode;
dHead->data=n;
dHead->next=NULL;
dHead->prev=NULL;
}
else
{
dCur=dHead;
while(dCur->next!=NULL)
{
dCur=dCur->next;
}
dt=new dNode;
dt->data=n;
dt->next=NULL;
dt->prev=dCur;
dCur->next=dt;
}
}
while(dCur->next!=NULL)
{
cout<<dCur->data<<"\t";
dCur=dCur->next;
}
cout<<dCur->data<<"\t"<<endl;
}
while(dCur->next!=NULL)
{
dCur=dCur->next;
}
while(dCur->prev!=NULL)
{
cout<<dCur->data<<"\t";
dCur=dCur->prev;
}
cout<<dCur->data<<"\t"<<endl;
}
dt=dCur->next;
delete dCur;
dCur=dHead;
for(int i=1;i<dk-1;i++)
{
dCur=dCur->next;
}
dt->prev=dCur;
dCur->next=dt;
}
};
main()
{
list l;
l.dList(1);
l.dList(2);
l.dList(3);
l.dTraverse("f");
l.dDel(2);
l.dTraverse("f");
}