answersLogoWhite

0

Let us assume we have a linked list similar to the following setup:

struct linked_list_node {

int data;

struct linked_list_node *next;

};

struct linked_list {

int size;

struct linked_list_node *root;

};

// reverses the order of the nodes in list

void reverseList(struct linked_list *list) {

struct linked_list_node *current = list->root;

struct linked_list_node *next = current->next;

struct linked_list_node *last = list->root;

// the old root will be the new end, so must point to null

list->root->next = NULL;

while( next != NULL ) {

// update current node

current = next;

// update next node for the next iteration so we don't lose the pointer

next = current->next;

// actual reversal - the current node should point to the last node

current->next = last;

// update lastNode

last = current;

}

// point the original list to the new root

list->root = current;

}

User Avatar

Wiki User

16y ago

What else can I help you with?

Related Questions

Which is the easy insertion operator single linked-list or double-linked list?

It is easier to insert into a singly linked list.


Convert single linked list to double linked list?

You copy a singly linked list into a doubly linked list by iterating over the singly linked list and, for each element, calling the doubly linked list insert function.


Which operation is perform more efficiently by doubly linked list than by single linked list?

zsd


Which of the following data structures can be randomly accessed giving loc A. linked list implemented using array B. singly linked list C. double linked list D. both single and double linked list?

Which of the following data structures can be randomly accessed giving loc?A. linked list implemented using arrayB. singly linked listC. double linked listD. both single and double linked listThe answer is A.


Explain any two advantages using Single linked list over Doubly linked list and vice-versa?

Advantages of single linked list: # Decrease in storage space per linked list node # Simpler implementation Advantages of double linked list # Decrease in work when accessing a random node # Decrease in work when inserting or deleting a node


What is the advantage of doubly linked list over Doubly linked list?

A doubly linked list can be traversed in both directions (forward and backward). A singly linked list can only be traversed in one direction. A node on a doubly linked list may be deleted with little trouble, since we have pointers to the previous and next nodes. A node on a singly linked list cannot be removed unless we have the pointer to its predecessor. On the flip side however, a doubly linked list needs more operations while inserting or deleting and it needs more space (to store the extra pointer).


Why double linked list better than single link list?

In_which_way_Doubly_linked_list_better_than_singly_linked_list


What are the linked list utility in memory management?

A simple linked-list is an approach is to store the freelist of memory blocks, where each node of the linked list contains a pointer to a single free block in the memory pool.


What is the minimum number of additional pointers will be needed to reverse a singly linked list?

3 pointers...


What is null link problem in single linked list?

This is not a problem but indicates that you have reached the end of the list.


What is hetrogenious linked list?

A heterogeneous linked list is a linked list where each node can store different types of data. This is different from a homogeneous linked list where all nodes store the same type of data. Heterogeneous linked lists can be useful for scenarios where you need to store multiple types of data in a single list.


What is difference between linked list and singly linked list?

Answersingly linked list has the node inserted only at one end. and the pointer corresponds to the next pointer.but in a doubly linked list, the node pointer points to the both previous and the next node.singly linked list has two nodesdoubly linked list has three nodesA doubly linked list makes sense when you need to traverse the list in both directions. You aren't able to do that with a singly linked list.