# Find the largest node in doubly linked list using C program

In this tutorial, we will learn how to find the largest node in Doubly linked list using C program? By Piyas Mukherjee Last updated : August 02, 2023

## Input

A doubly linked list whose address of the first node is stored in a pointer say head

## Output

The largest no of the linked list say max.

## Data Structure Used

A doubly linked list where each node contains a data part, say data and two link parts say prev (to store the address of immediate previous node) and say next (to store the address of immediate next node).

## Pseudo Code

```Begin
max=temp->data //max to store maximum
while(temp!=NULL)
begin
if(temp->data>max)
max=temp->data
temp=temp->next
end if
end while
End
```

## C program to find the largest node in doubly linked list

```#include <stdio.h>
#include <stdlib.h>

typedef struct list {
int data;
struct list* next;
struct list* prev;
} node;

void display(node* temp)
{
printf("The list is as follows :\n");
while (temp != NULL) {
printf("%d->", temp->data);
temp = temp->next;
}
printf("NULL");
return;
}

// Main Code
int main()
{
node *head = NULL, *temp, *temp1;
int choice, max;

//Taking the linked list as input
do {
temp = (node*)malloc(sizeof(node));
if (temp != NULL) {
printf("\nEnter the element in the list : ");
scanf("%d", &temp->data);
temp->next = NULL;
}
else {
while (temp1->next != NULL) {
temp1 = temp1->next;
}
temp1->next = temp;
temp->prev = temp1;
}
}
else {
printf("\nMemory not avilable...node allocation is not possible");
}
printf("\nIf you wish to add more data on the list enter 1 : ");
scanf("%d", &choice);
} while (choice == 1);

//finding max
max = temp->data;
while (temp != NULL) {
if (temp->data > max)
max = temp->data;
temp = temp->next;
}
printf("\nThe largest element in the list is : %d", max);

return 0;
}
```

## Output

```Enter the element in the list : 1

If you wish to add more data on the list enter 1 : 1

Enter the element in the list : 2

If you wish to add more data on the list enter 1 : 1

Enter the element in the list : -3

If you wish to add more data on the list enter 1 : 1

Enter the element in the list : 56

If you wish to add more data on the list enter 1 : 0
The list is as follows :
1->2->-3->56->NULL
The largest element in the list is : 56
```