• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package junit.runner;
2 
3 import java.util.*;
4 
5 import junit.runner.*;
6 
7 /**
8  * A custom quick sort with support to customize the swap behaviour.
9  * NOTICE: We can't use the the sorting support from the JDK 1.2 collection
10  * classes because of the JDK 1.1.7 compatibility.
11  * {@hide} - Not needed for 1.0 SDK
12  */
13 public class Sorter {
14 	public static interface Swapper {
swap(Vector values, int left, int right)15 		public void swap(Vector values, int left, int right);
16 	}
17 
sortStrings(Vector values , int left, int right, Swapper swapper)18 	public static void sortStrings(Vector values , int left, int right, Swapper swapper) {
19 		int oleft= left;
20 		int oright= right;
21 		String mid= (String)values.elementAt((left + right) / 2);
22 		do {
23 			while (((String)(values.elementAt(left))).compareTo(mid) < 0)
24 				left++;
25 			while (mid.compareTo((String)(values.elementAt(right))) < 0)
26 				right--;
27 			if (left <= right) {
28 				swapper.swap(values, left, right);
29 				left++;
30 				right--;
31 			}
32 		} while (left <= right);
33 
34 		if (oleft < right)
35 			sortStrings(values, oleft, right, swapper);
36 		if (left < oright)
37 			 sortStrings(values, left, oright, swapper);
38 	}
39 }
40