Computer Science, asked by priyanshkoshta7391, 1 year ago

What is doubly linked list write an algorith to reverse the link of doubly linked list?

Answers

Answered by Anonymous
0
HEYA USER

Here is a simple method for reversing a Doubly Linked List. All we need to do is swap prev and next pointers for all nodes, change prev of the head (or start) and change the head pointer in the end.

Here is a simple method for reversing a Doubly Linked List. All we need to do is swap prev and next pointers for all nodes, change prev of the head (or start) and change the head pointer in the end.

THANK YOU

HOPE IT HELPS
Attachments:
Answered by Anonymous
1

Doubly linked list  contains a link element called first and last. Each link carries a data field(s) and two link fields called next and prev. Each link is linked with its next link using its next link. Each link is linked with its previous link using its previous link.

Source code:-

class Node(object):

# Singly linked node

def __init__(self, data=None, next=None, prev=None):

self.data = data

self.next = next

self.prev = prev

class doubly_linked_list(object):

def __init__(self):

self.head = None

self.tail = None

self.count = 0

def append_item(self, data):

# Append an item

new_item = Node(data, None, None)

if self.head is None:

self.head = new_item

self.tail = self.head

else:

new_item.prev = self.tail

self.tail.next = new_item

self.tail = new_item

self.count += 1

def iter(self):

# Iterate the list

current = self.head

while current:

item_val = current.data

current = current.next

yield item_val

def print_foward(self):

for node in self.iter():

print(node)

def insert_start(self, data):

if self.head is not None:

new_node = Node(data, None, None)

new_node.next = self.head

self.head.prev = new_node

self.head = new_node

self.count += 1

items = doubly_linked_list()

items.append_item('PHP')

items.append_item('Python')

items.append_item('C#')

items.append_item('C++')

items.append_item('Java')

items.append_item('SQL')

print("Original list:")

items.print_foward()

print("\nAppend item in front of the list:")

items.insert_start("Perl")

items.print_foward()

Attachments:
Similar questions