Formatted source
[jalview.git] / src / jalview / util / QuickSort.java
index 3624144..127b419 100755 (executable)
 * along with this program; if not, write to the Free Software\r
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\r
 */\r
-\r
 package jalview.util;\r
 \r
-\r
 public class QuickSort {\r
+    public static void sort(float[] arr, Object[] s) {\r
+        sort(arr, 0, arr.length - 1, s);\r
+    }\r
 \r
-  public static void sort(float[] arr,Object[] s) {\r
-    sort(arr,0,arr.length-1,s);\r
-  }\r
-\r
-  public static void sort(String[] arr,Object[] s) {\r
-    stringSort(arr,0,arr.length-1,s);\r
-  }\r
+    public static void sort(String[] arr, Object[] s) {\r
+        stringSort(arr, 0, arr.length - 1, s);\r
+    }\r
 \r
-  public static void stringSort(String[] arr,int p, int r,Object[] s) {\r
-    int q;\r
+    public static void stringSort(String[] arr, int p, int r, Object[] s) {\r
+        int q;\r
 \r
-    if (p < r) {\r
-      q = stringPartition(arr,p,r,s);\r
-      stringSort(arr,p,q,s);\r
-      stringSort(arr,q+1,r,s);\r
+        if (p < r) {\r
+            q = stringPartition(arr, p, r, s);\r
+            stringSort(arr, p, q, s);\r
+            stringSort(arr, q + 1, r, s);\r
+        }\r
     }\r
-  }\r
 \r
-  public static void sort(float[] arr,int p, int r,Object[] s) {\r
-    int q;\r
+    public static void sort(float[] arr, int p, int r, Object[] s) {\r
+        int q;\r
 \r
-    if (p < r) {\r
-      q = partition(arr,p,r,s);\r
-      sort(arr,p,q,s);\r
-      sort(arr,q+1,r,s);\r
+        if (p < r) {\r
+            q = partition(arr, p, r, s);\r
+            sort(arr, p, q, s);\r
+            sort(arr, q + 1, r, s);\r
+        }\r
     }\r
-  }\r
-\r
-  private static int partition(float[] arr, int p, int r,Object[] s) {\r
-    float x = arr[p];\r
-    int i = p-1;\r
-    int j = r+1;\r
-\r
-    while(true) {\r
-      do {\r
-        j = j-1;\r
-      }        while (arr[j] > x);\r
-\r
-      do {\r
-        i = i+1;\r
-      } while (arr[i] < x);\r
-\r
-      if ( i < j) {\r
-        float tmp = arr[i];\r
-        arr[i] = arr[j];\r
-        arr[j] = tmp;\r
-\r
-        Object tmp2 = s[i];\r
-        s[i] = s[j];\r
-        s[j] = tmp2;\r
-      } else {\r
-        return j;\r
-      }\r
+\r
+    private static int partition(float[] arr, int p, int r, Object[] s) {\r
+        float x = arr[p];\r
+        int i = p - 1;\r
+        int j = r + 1;\r
+\r
+        while (true) {\r
+            do {\r
+                j = j - 1;\r
+            } while (arr[j] > x);\r
+\r
+            do {\r
+                i = i + 1;\r
+            } while (arr[i] < x);\r
+\r
+            if (i < j) {\r
+                float tmp = arr[i];\r
+                arr[i] = arr[j];\r
+                arr[j] = tmp;\r
+\r
+                Object tmp2 = s[i];\r
+                s[i] = s[j];\r
+                s[j] = tmp2;\r
+            } else {\r
+                return j;\r
+            }\r
+        }\r
     }\r
-  }\r
-  private static int stringPartition(String[] arr, int p, int r,Object[] s) {\r
-    String x = arr[p];\r
-    int i = p-1;\r
-    int j = r+1;\r
-\r
-    while(true) {\r
-      do {\r
-        j = j-1;\r
-      }        while (arr[j].compareTo(x) < 0);\r
-\r
-      do {\r
-        i = i+1;\r
-      } while (arr[i].compareTo(x) > 0);\r
-\r
-      if ( i < j) {\r
-        String tmp = arr[i];\r
-        arr[i] = arr[j];\r
-        arr[j] = tmp;\r
-\r
-        Object tmp2 = s[i];\r
-        s[i] = s[j];\r
-        s[j] = tmp2;\r
-      } else {\r
-        return j;\r
-      }\r
+\r
+    private static int stringPartition(String[] arr, int p, int r, Object[] s) {\r
+        String x = arr[p];\r
+        int i = p - 1;\r
+        int j = r + 1;\r
+\r
+        while (true) {\r
+            do {\r
+                j = j - 1;\r
+            } while (arr[j].compareTo(x) < 0);\r
+\r
+            do {\r
+                i = i + 1;\r
+            } while (arr[i].compareTo(x) > 0);\r
+\r
+            if (i < j) {\r
+                String tmp = arr[i];\r
+                arr[i] = arr[j];\r
+                arr[j] = tmp;\r
+\r
+                Object tmp2 = s[i];\r
+                s[i] = s[j];\r
+                s[j] = tmp2;\r
+            } else {\r
+                return j;\r
+            }\r
+        }\r
     }\r
-  }\r
 }\r
-\r
-\r
-\r