Open In App

Php Program To Find Next Greater Element

Last Updated : 17 Dec, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

Given an array, print the Next Greater Element (NGE) for every element. The Next greater Element for an element x is the first greater element on the right side of x in the array. Elements for which no greater element exist, consider the next greater element as -1. 

Examples: 

  1. For an array, the rightmost element always has the next greater element as -1.
  2. For an array that is sorted in decreasing order, all elements have the next greater element as -1.
  3. For the input array [4, 5, 2, 25], the next greater elements for each element are as follows.
Element       NGE
   4      -->   5
   5      -->   25
   2      -->   25
   25     -->   -1

d) For the input array [13, 7, 6, 12}, the next greater elements for each element are as follows.  

  Element        NGE
   13      -->    -1
   7       -->     12
   6       -->     12
   12      -->     -1

Method 1 (Simple) 
Use two loops: The outer loop picks all the elements one by one. The inner loop looks for the first greater element for the element picked by the outer loop. If a greater element is found then that element is printed as next, otherwise, -1 is printed.

Below is the implementation of the above approach:

PHP




<?php
// Simple PHP program to print next
// greater elements in a given array
  
/* prints element and NGE pair for 
   all elements of arr[] of size n */
function printNGE($arr, $n)
{
    for ($i = 0; $i < $n; $i++)
    {
        $next = -1;
        for ($j = $i + 1; $j < $n; $j++)
        {
            if ($arr[$i] < $arr[$j])
            {
                $next = $arr[$j];
                break;
            }
        }
        echo $arr[$i]." -- ". $next."
";
          
    }
}
  
    // Driver Code
    $arr= array(11, 13, 21, 3);
    $n = count($arr);
    printNGE($arr, $n);
      
// This code is contributed by Sam007
?>


Output

11 -- 13
13 -- 21
21 -- -1
3 -- -1

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

Please refer complete article on Next Greater Element for more details!



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads