KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > fr > dyade > aaa > util > QuickSort


1 /*
2  * Copyright (C) 1996 - 2000 BULL
3  * Copyright (C) 1996 - 2000 INRIA
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
18  * USA.
19  */

20
21 package fr.dyade.aaa.util;
22
23 public final class QuickSort {
24
25
26   public static void sort(Comparable JavaDoc v[], int low, int up) {
27     int i, last;
28     Comparable JavaDoc t, x;
29
30     if (low < up) {
31       t = v[low];
32       last = low;
33       for (i = low +1; i <= up; ++i) {
34     if (t.compareTo(v[i]) > 0) {
35       last ++;
36       x = v[last]; v[last] = v[i]; v[i] = x; // swap(last, i);
37
}
38       }
39       x = v[low]; v[low] = v[last]; v[last] = x; // swap(low, last);
40
sort(v, low, last -1);
41       sort(v, last +1, up);
42     }
43   }
44 }
45
Popular Tags