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];
> }
> }
>
>
===========================================================================
> 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
===========================================================================
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