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