answersLogoWhite

0


Best Answer

#include<iostream>

#include<list>

void print_list (std::list<int>& list)

{

for (std::list<int>::const_iterator it=list.begin(); it!=list.end(); ++it)

std::cout << *it << ", ";

std::cout << "\b\b \n";

}

int main()

{

// instantiate a list

std::list<int> list;

// push a new value onto the back of the list:

list.push_back (1);

print_list (list);

// push a new value onto the front of the list:

list.push_front (2);

print_list (list);

// insert a new value at the back of the list

list.insert (list.end(), 3);

print_list (list);

// insert a new value at the front of the list

list.insert (list.begin(), 4);

print_list (list);

// locate value 1.

std::list<int>::const_iterator it=list.begin();

while (it!=list.end() && *it != 1)

++it;

// insert a new value in front of value 1.

list.insert (it, 5);

print_list (list);

}

Output:

1

2, 1

2, 1, 3

4, 2, 1, 3

4, 2, 5, 1, 3

User Avatar

Wiki User

9y ago
This answer is:
User Avatar
More answers
User Avatar

Wiki User

10y ago

In order to insert a new node you must first determine where the node will be inserted. For instance, in an unbalanced binary tree (sorting tree), you will traverse from the root node, comparing its data to the data you wish to insert. If the data to be inserted is greater then you traverse to its right node, otherwise you traverse to its left node. You repeat this process for each node you traverse to until there is no node to traverse to. You then create a new node for the data and assign the current node's left or right pointer to the new node. That is, if the data is greater than the current node, and the current node's right node is NULL, the new node becomes the current node's right node. You then start at the root to insert the next node.

This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: How do you insert a node using doubly linked list in c plus plus?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Related questions

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.


what are the differences between singly link list and doubly link list?

singly linked list stores only the address of next node while doubly linked list stores the address of previous node and next node and hence it is called doubly linked list. In singly linked list only forward traversing is possible while in doubly linked list forward and backward traversal is possible.


Does each node in a doubly linked list contain a link to the previous as well as the next node?

Yes, each node in a doubly linked list contain a link to the previous as well as the next node. That is the definition of the doubly linked list.


What operation is supported in constant time by the doubly linked list but not by the singly linked list?

examples:- delete this node (identified by a pointer)- insert a new node before this node- replace this node with another node


What is the difference between doubly linked list and circular linked list?

A doubly linked list allows traversal in both directions (forward and backward) by having each node point to both its next and previous nodes. A circular linked list is a type of linked list where the last node points back to the first node, forming a circular structure. This allows continuous traversal through the elements without a definitive end.


C program to implement deque using circular linked list?

You'll need to use a doubly-linked circular list, since otherwise when you pop off the tail element you'll need to whizz all the way round the list to find its predecessor. See the links section for an implementation of a doubly-linked circular list.


How can implement round robin sceduler in java using circular doubly linked list?

I'm sorry brother


How do you implement a doubly linked list by using singly linked list?

To implement a doubly linked list using a singly linked list, you can create two nodes in each element of the singly linked list - one for the next element and another for the previous element. This way, each node will have access to both its previous and next nodes, effectively creating a doubly linked list structure using a singly linked list implementation.


What is best and worst case of time complexity and space complexity of insert and delete operation in singly linked list doubly linked list?

When inserting or extracting at the end of a singly-linked list or at the beginning or end of a doubly-linked list, the complexity is constant time. Inserting or extracting in the middle of a list has linear complexity, with best case O(1) when the insertion or extraction point is already known in advance and a worst case of O(n) when it is not.


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

zsd


Why you use doubly link list?

In a doubly linked list, you can iterate backwards as easily as forwards, as each element contains links to both the prior and the following element. You can also insert or delete an element without needing to iterate and remember the prior element's link. This comes at a cost. You are adding storage to each element for the second link, and you are adding processing overhead to the insert and delete operation. You have to determine the tradeoff.


Write a algorithm for doubly linked list in c?

sorry