forked from mr-professor4569/Data_Structures
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEvenAfterOddLinkedList.cpp
More file actions
48 lines (48 loc) · 1010 Bytes
/
EvenAfterOddLinkedList.cpp
File metadata and controls
48 lines (48 loc) · 1010 Bytes
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
Node *evenAfterOdd(Node *head)
{
if(head==NULL){
return head;
}
Node *oddh=NULL;
Node *oddt=NULL;
Node *evenh=NULL;
Node *event=NULL;
while(head!=NULL){
if(head->data %2!=0) {
if(oddh==NULL && oddt==NULL){
oddh=head;
oddt=head;
}
else{
oddt->next=head;
oddt=head;
}
head=head->next;
}
else{
if(evenh==NULL && event==NULL){
evenh=head;
event=head;
}
else{
event->next=head;
event=head;
}
head=head->next;
}
}
if(oddh==NULL && oddt==NULL){
event->next=NULL;
return evenh;
}
else if(event==NULL && event==NULL){
oddt->next=NULL;
return oddh;
}
else{
oddt->next=NULL;
event->next=NULL;
oddt->next=evenh;
return oddh;
}
}