What I mean is, how do I modify the code so that I can tell it in what
direction I want the data sorted (i.e., ascending or descending)?

SanJo;)

Quoting "Sergey A. Vorobiev" <[EMAIL PROTECTED]>:

> "S. Joseph" wrote:
> >
> > I'm new to Java.  I want to sort the data in reverse order but I don't
> > understand the code and cannot tell where to modify it.  Please help.
> >
> >  /*
> >   * MergeSort.java
> > >  *
> > >  * Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved.
> > >  *
> > >  * This software is the confidential and proprietary information of Sun
> > >  * Microsystems, Inc. ("Confidential Information").  You shall not
> > >  * disclose such Confidential Information and shall use it only in
> > >  * accordance with the terms of the license agreement you entered into
> > >  * with Sun.
> > >  *
> > >  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
> THE
> > >  * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
> THE
> > >  * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
> > >  * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY
> DAMAGES
> > >  * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
> > >  * THIS SOFTWARE OR ITS DERIVATIVES.
> > >  *
> > >  */
> > >
> > > /**
> > >  * An implementation of MergeSort, needs to be subclassed to
> > >  * compare the terms.
> > >  *
> > >  * @author Scott Violet
> > >  */
> > > public abstract class MergeSort extends Object {
> > >     protected Object           toSort[];
> > >     protected Object           swapSpace[];
> > >
> > >     public void sort(Object array[]) {
> > >      if(array != null && array.length > 1)
> > >      {
> > >          int             maxLength;
> > >
> > >          maxLength = array.length;
> > >          swapSpace = new Object[maxLength];
> > >          toSort = array;
> > >          this.mergeSort(0, maxLength - 1);
> > >          swapSpace = null;
> > >          toSort = null;
> > >      }
> > >     }
> > >
> > >     public abstract int compareElementsAt(int beginLoc, int endLoc);
> > >
> > >     protected void mergeSort(int begin, int end) {
> > >      if(begin != end)
> > >      {
> > >          int           mid;
> > >
> > >          mid = (begin + end) / 2;
> > >          this.mergeSort(begin, mid);
> > >          this.mergeSort(mid + 1, end);
> > >          this.merge(begin, mid, end);
> > >      }
> > >     }
> > >
> > >     protected void merge(int begin, int middle, int end) {
> > >      int           firstHalf, secondHalf, count;
> > >
> > >      firstHalf = count = begin;
> > >      secondHalf = middle + 1;
> > >      while((firstHalf <= middle) && (secondHalf <= end))
> > >      {
> > >          if(this.compareElementsAt(secondHalf, firstHalf) < 0)
> > >        swapSpace[count++] = toSort[secondHalf++];
> > >          else
> > >        swapSpace[count++] = toSort[firstHalf++];
> > >      }
> > >      if(firstHalf <= middle)
> > >      {
> > >          while(firstHalf <= middle)
> > >        swapSpace[count++] = toSort[firstHalf++];
> > >      }
> > >      else
> > >      {
> > >          while(secondHalf <= end)
> > >        swapSpace[count++] = toSort[secondHalf++];
> > >      }
> > >      for(count = begin;count <= end;count++)
> > >          toSort[count] = swapSpace[count];
> > >     }
> > > }
> > >
>
> You do not need to modify it. All you have to do is to inherit it:
>
> public class MyMergeSort extends MergeSort {
>
>   public int compareElementsAt(int beginLoc, int endLoc) {
>     // comparison criteria here
>   }
>
> }
>
> and use it like here:
>
> MyMergeSort sorter = new MyMergeSort();
> sorter.sort(yourArray);
>
> --
> Regards,
> Sergey Vorobiev
>
> ===========================================================================
> To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff
> JSP-INTEREST".
> Some relevant FAQs on JSP/Servlets can be found at:
>
>  http://java.sun.com/products/jsp/faq.html
>  http://www.esperanto.org.nz/jsp/jspfaq.html
>  http://www.jguru.com/jguru/faq/faqpage.jsp?name=JSP
>  http://www.jguru.com/jguru/faq/faqpage.jsp?name=Servlets
>

===========================================================================
To unsubscribe: mailto [EMAIL PROTECTED] with body: "signoff JSP-INTEREST".
Some relevant FAQs on JSP/Servlets can be found at:

 http://java.sun.com/products/jsp/faq.html
 http://www.esperanto.org.nz/jsp/jspfaq.html
 http://www.jguru.com/jguru/faq/faqpage.jsp?name=JSP
 http://www.jguru.com/jguru/faq/faqpage.jsp?name=Servlets

Reply via email to