0
167views
Explain the operations of circularly linked lists
1 Answer
0
6views

Basic Operations

Following are the important operations supported by a circular list.

  • insert − Insert an element at the start of the list.
  • delete − Deletes an element from the start of the list.
  • display − Displays the list.

Insertion Operation

The following code demonstrates the insertion operation in a circular linked list based on a single linked list.

Example

insertFirst(data):
Begin
   create a new node
   node -> data := data
   if the list is empty, then
      head := node
      next of node = head
   else
      temp := head
      while next of temp is not head, do
      temp := next of temp
      done
      next of node := head
      next of temp := node
      head := node
   end if
End

Deletion Operation

The following code demonstrates the deletion operation in a circular linked list based on a single linked list.

deleteFirst():
Begin
   if head is null, then
      it is Underflow and return
   else if next of head = head, then
      head := null
      deallocate head
   else
      ptr := head
      while next of ptr is not head, do
         ptr := next of ptr
      next of ptr = next of head
      deallocate head
      head := next of ptr
   end if
End

Display List Operation

The following code demonstrates the display list operation in a circular linked list.

display():
Begin
   if head is null, then
      Nothing to print and return
   else
      ptr := head
      while next of ptr is not head, do
         display data of ptr
         ptr := next of ptr
      display data of ptr
   end if
End
Please log in to add an answer.