Pairwise swap elements of a linked list Python
- Get link
- X
- Other Apps
PROGRAM TO SWAP ELEMENTS PAIRWISE OF A GIVEN LINKED LIST
# Node class
class
Node:
# Constructor to initialize the node object
def
__init__(
self
, data):
self
.data
=
data
self
.
next
=
None
class
LinkedList:
# Function to initialize head
def
__init__(
self
):
self
.head
=
None
# Function to pairwise swap elements of a linked list
def
pairwiseSwap(
self
):
temp
=
self
.head
# There are no nodes in linked list
if
temp
is
None
:
return
# Traverse furthur only if there are at least two
# left
while
(temp
is
not
None
and
temp.
next
is
not
None
):
# If both nodes are same,
# no need to swap data
if
(temp.data
=
=
temp.
next
.data):
# Move temp by 2 to the next pair
temp
=
temp.
next
.
next
else
:
# Swap data of node with its next node's data
temp.data, temp.
next
.data
=
temp.
next
.data, temp.data
# Move temp by 2 to the next pair
temp
=
temp.
next
.
next
# Function to insert a new node at the beginning
def
push(
self
, new_data):
new_node
=
Node(new_data)
new_node.
next
=
self
.head
self
.head
=
new_node
# Utility function to prit the linked LinkedList
def
printList(
self
):
temp
=
self
.head
while
(temp):
print
temp.data,
temp
=
temp.
next
# Driver program
llist
=
LinkedList()
llist.push(
5
)
llist.push(
4
)
llist.push(
3
)
llist.push(
2
)
llist.push(
1
)
print
"Linked list before calling pairWiseSwap() "
llist.printList()
llist.pairwiseSwap()
print
"\nLinked list after calling pairWiseSwap()"
llist.printList()
OUTPUT
Linked List before calling pairWiseSwap() 1 2 3 4 5 Linked List after calling pairWiseSwap() 2 1 4 3 5
- Get link
- X
- Other Apps
Comments
Post a Comment