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