C program to count the number of nodes in a doubly linked list

Q. Program to create a doubly linked list of n nodes and count the number of nodes.

Explanation

In this program, we will create a doubly linked list and count the number of nodes present in the list. To count the node, we traverse through the list by incrementing the counter by 1.

C program to count the number of nodes in a doubly linked list

What count of nodes presents above doubly linked list is 5.

Algorithm

  1. Define a Node class which represents a node in the list. It will have three properties: data, previous which will point to the previous node and next which will point to the next node.
  2. Define another class for creating a doubly linked list, and it has two nodes: head and tail. Initially, head and tail will point to null.
  3. addNode() will add node to the list:
    1. It first checks whether the head is null, then it will insert the node as the head.
    2. Both head and tail will point to a newly added node.
    3. Head's previous pointer will point to null and tail?s next pointer will point to null.
    4. If the head is not null, the new node will be inserted at the end of the list such that new node's previous pointer will point to tail.
    5. The new node will become the new tail. Tail's next pointer will point to null.
  4. countNodes() will count the number of nodes present in the list.
    1. Define a variable counter and new node current which will point to the head node.
    2. Traverse through the list to count the nodes by making the current node to point to next node in the list till current point to null.
    3. Increment the counter by 1.
  5. display() will show all the nodes present in the list.
    1. Define a new node 'current' that will point to the head.
    2. Print current.data till current points to null.
    3. Current will point to the next node in the list in each iteration.

What is Linked List?

A linked list is a collection of nodes, each pointing to next node by means of a pointer. In linked list, each node consists of two parts, a data and a pointer to next node (address of next node).

In linked list, elements are not stored at contiguous memory locations.

You can check this video tutorial on linked list in which i have explained what is linked list? Array vs linked list.

C program to count the number of nodes in a doubly linked list

C Program to Count Number of Nodes in a Linked List

Program to find size of Doubly Linked List

Given a doubly linked list, the task is to find the size of that doubly linked list. For example, size of below linked list is 4.

C program to count the number of nodes in a doubly linked list

Recommended: Please try your approach on {IDE} first, before moving on to the solution.

A doubly linked list is a linked data structure that consists of a set of sequentially linked records called nodes. Each node contains two fields, called links, that are references to the previous and to the next node in the sequence of nodes.
Traversal of a doubly linked list can be in either direction. In fact, the direction of traversal can change many times, if desired.



For example the function should return 3 for the above doubly linked list.

Write a function that counts the number of times a given int occurs in a Linked List

Given a singly linked list and a key, count the number of occurrences of the given key in the linked list. For example, if the given linked list is 1->2->1->2->1->3->1 and the given key is 1, then the output should be 4.