Program to find largest element in an array using Dynamic Memory Allocation

Given an array arr[] consisting of N integers, the task is to find the largest element in the given array using Dynamic Memory Allocation.

Examples:

Input: arr[] = {4, 5, 6, 7} 
Output: 7
Explanation:
The largest element present in the given array is 7.

Input: arr[] = {8, 9, 10, 12} 
Output: 12
Explanation:
The largest element present in the given array is 12.

Approach: The idea here is to use Dynamic Memory for searching the largest element in the given array. Follow the steps below to solve the problem:



  1. Take N elements and a pointer to store the address of N elements
  2. Allocate memory dynamically for N elements.
  3. Store the elements in the allocated memory.
  4. Traverse the array arr[] to find the largest element among all the numbers by comparing the values using pointers.

Below is the implementation of the above approach:

C

filter_none

edit
close

play_arrow

link
brightness_4
code

// C program for the above approach
#include <stdio.h>
#include <stdlib.h>
 
// Function to find the largest element
// using dynamic memory allocation
void findLargest(int* arr, int N)
{
    int i;
 
    // Traverse the array arr[]
    for (i = 1; i < N; i++) {
 
        // Update the largest element
        if (*arr < *(arr + i)) {
            *arr = *(arr + i);
        }
    }
 
    // Print the largest number
    printf("%d ", *arr);
}
 
// Driver Code
int main()
{
    int i, N = 4;
 
    int* arr;
 
    // Memory allocation to arr
    arr = (int*)calloc(N, sizeof(int));
 
    // Condition for no memory
    // allocation
    if (arr == NULL) {
        printf("No memory allocated");
        exit(0);
    }
 
    // Store the elements
    *(arr + 0) = 14;
    *(arr + 1) = 12;
    *(arr + 2) = 19;
    *(arr + 3) = 20;
 
    // Function Call
    findLargest(arr, N);
    return 0;
}

chevron_right


C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program for the above approach
#include <iostream>
using namespace std;
 
// Function to find the largest element
// using dynamic memory allocation
void findLargest(int* arr, int N)
{
 
    // Traverse the array arr[]
    for (int i = 1; i < N; i++) {
 
        // Update the largest element
        if (*arr < *(arr + i)) {
            *arr = *(arr + i);
        }
    }
 
    // Print the largest number
    cout << *arr;
}
 
// Driver Code
int main()
{
    int N = 4;
    int* arr;
 
    // Memory allocation to arr
    arr = new int[N];
 
    // Condition for no memory
    // allocation
    if (arr == NULL) {
        cout << "No memory allocated";
    }
 
    // Store the elements
    *(arr + 0) = 14;
    *(arr + 1) = 12;
    *(arr + 2) = 19;
    *(arr + 3) = 20;
 
    // Function Call
    findLargest(arr, N);
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program for the above approach
import java.util.*;
class GFG{
 
// Function to find the largest element
// using dynamic memory allocation
static void findLargest(int []arr, int N)
{
    // Traverse the array arr[]
    for (int i = 1; i < N; i++)
    {
        // Update the largest element
        if (arr[0] < (arr[i]))
        {
            arr[0] = (arr[i]);
        }
    }
 
    // Print the largest number
    System.out.print(arr[0]);
}
 
// Driver Code
public static void main(String[] args)
{
    int N = 4;
    int []arr;
 
    // Memory allocation to arr
    arr = new int[N];
 
    // Condition for no memory
    // allocation
    if (arr.length < N)
    {
        System.out.print("No memory allocated");
    }
 
    // Store the elements
    arr[0] = 14;
    arr[1] = 12;
    arr[2] = 19;
    arr[3] = 20;
     
    // Function Call
    findLargest(arr, N);
}
}
 
// This code is contributed by shikhasingrajput

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 program for
# the above approach
 
# Function to find the largest element
# using dynamic memory allocation
def findLargest(arr, N):
   
    # Traverse the array arr
    for i in range(1, N):
       
        # Update the largest element
        if (arr[0] < (arr[i])):
            arr[0] = (arr[i]);
 
    # Print largest number
    print(arr[0]);
 
# Driver Code
if __name__ == '__main__':
    N = 4;
     
    # Memory allocation to arr
    arr = [0] * N;
 
    # Condition for no memory
    # allocation
    if (len(arr) < N):
        print("No memory allocated");
 
    # Store the elements
    arr[0] = 14;
    arr[1] = 12;
    arr[2] = 19;
    arr[3] = 20;
 
    # Function Call
    findLargest(arr, N);
 
# This code is contributed by shikhasingrajput

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program for the above approach
using System;
class GFG{
 
// Function to find the largest
// element using dynamic memory allocation
static void findLargest(int []arr,
                        int N)
{
  // Traverse the array []arr
  for (int i = 1; i < N; i++)
  {
    // Update the largest element
    if (arr[0] < (arr[i]))
    {
      arr[0] = (arr[i]);
    }
  }
 
  // Print the largest number
  Console.Write(arr[0]);
}
 
// Driver Code
public static void Main(String[] args)
{
  int N = 4;
  int []arr;
 
  // Memory allocation to arr
  arr = new int[N];
 
  // Condition for no memory
  // allocation
  if (arr.Length < N)
  {
    Console.Write("No memory allocated");
  }
 
  // Store the elements
  arr[0] = 14;
  arr[1] = 12;
  arr[2] = 19;
  arr[3] = 20;
 
  // Function Call
  findLargest(arr, N);
}
}
 
// This code is contributed by Rajput-Ji

chevron_right


Output: 

20







 

Time Complexity: O(N)
Auxiliary Space: O(1)

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.