forked from csfx-py/hacktober2020
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdoublyll.cpp
81 lines (68 loc) · 1.12 KB
/
doublyll.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include<iostream>
using namespace std;
struct node{
int data;
node *next;
node *prev;
};
node *head= NULL;
node *tail= NULL;
node* getnewnode(int data){
node *newnode= new node();
newnode->data= data;
newnode->prev=NULL;
newnode->next= NULL;
return newnode;
}
class doubly{
public:
void InsertAthead(int data);
void inssertAttail(int data);
void print();
void reversse();
};
void doubly :: InsertAthead(int data){
node *newnode= getnewnode(data);
if (head==NULL){
newnode->next= head;
return;
}
head->prev= newnode;
newnode->next= head;
head= newnode;
}
void doubly:: inssertAttail(int data){
node *newnode= getnewnode(data);
tail->next= newnode;
newnode->prev=tail;
tail= newnode;
}
void doubly ::print(){
node *temp= head;
while(temp!=NULL){
cout<<temp->data<<"->";
temp=temp->next;
}
cout<<endl;
}
void doubly ::reversse(){
node*temp= tail;
while(temp!=NULL){
cout<<temp->data<<"->";
temp=temp->prev;
}
cout<<endl;
}
int main(){
doubly d;
d.InsertAthead(1);
d.InsertAthead(3);
d.InsertAthead(4);
//d.inssertAttail(2);
//d.inssertAttail(8);
d.print();
d.print();
//d.reversse();
//d.reversse();
return 0;
}