Results 1 to 2 of 2
  1. #1
    NatNat is offline Member
    Join Date
    Feb 2008
    Posts
    3
    Rep Power
    0

    Default Recursive Method ==> find minimum value from array

    Hello, this is my first post; sorry if my format is off, but I need to use a recursive method to find the minimum value of an array of integers. I feel like I'm almost there, but it is not working. I continuously get the value of zero returned. I may be referencing the position in the array, rather than getting the value, but I'm not sure.

    I am aware that this can be done without using recursion, however, I need to do this recursively. If anyone can help, it would be greatly appreciated. Thanks in advance! My code is posted below:

    Java Code:
    import java.io.*;
    public class Main{
      public static int minimum(int[] data, int first, int last) {
        int M2;
        int M1;
        int mid;
        int min;
        
        if(first==last)
        {
            min= data[0];
            return min;
        }
         else
         {         
          mid = data[(first + last)/2];
          
          M2= minimum(data, (++mid), last);
          M1= minimum(data, (++first), mid);
         
          if(M2<M1)
              return M2;
          else 
              return M1;}
        
      }
      public static void main(String[] args) {
            
          
          int firstIndex, lastIndex;
          int[] ints = new int[10];
          ints[0] = 20;
          ints[1] = 18;
          ints[2] = 40;
          ints[3] = 34;
          ints[4] = 50;
          ints[5] = 40;
          ints[6] = 20;
          ints[7] = 13;
          ints[8] = 98;
          ints[9] = 1;
          int f = 4;
          int val = 20;
    	firstIndex = 0;
    	lastIndex = ints.length - 1;
    
          System.out.println("the minimum value from the ints array is " + minimum(ints, firstIndex, lastIndex));
            
        }
    }

  2. #2
    hey
    hey is offline Member
    Join Date
    Dec 2007
    Posts
    21
    Rep Power
    0

    Default

    Java Code:
    //import java.io.*;
    public class temp1class{
    
    public static int Min(int[] data, int curr, int currMin) {
    	if (curr == 0){
    		if (currMin > data[curr]){
    			return	data[curr];
    		} else return currMin;
    	} else {
    		if (currMin > data[curr])
    			currMin = data[curr];
    		curr--;
    		return Min(data, curr, currMin);
    		
    	}
    		
    }
       public static void main(String[] args) {
            
          
          
          int[] ints = new int[10];
          ints[0] = 20;
          ints[1] = 18;
          ints[2] = 40;
          ints[3] = 34;
          ints[4] = 50;
          ints[5] = 40;
          ints[6] = 20;
          ints[7] = 20;
          ints[8] = 98;
          ints[9] = 1;
          
    	
    
          System.out.println("Min for currMin " + Min(ints, ints.length-1, ints[ints.length-1]));   
     
        }
    }

Similar Threads

  1. exercise of recursive method
    By amexudo in forum New To Java
    Replies: 2
    Last Post: 03-09-2008, 05:55 PM
  2. Replies: 2
    Last Post: 02-16-2008, 08:52 PM
  3. Recursive Method
    By bluegreen7hi in forum New To Java
    Replies: 5
    Last Post: 11-29-2007, 04:45 AM
  4. problems to find the main method
    By christina in forum Eclipse
    Replies: 2
    Last Post: 08-06-2007, 07:51 PM
  5. Problems with Find method in EJB
    By Nick15 in forum Enterprise JavaBeans (EJB)
    Replies: 0
    Last Post: 05-14-2007, 01:29 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •