Bonjour, j'ai besoin de votre aide. J' ai un problème que je n'arrive pas à résoudre par moi même malgré mes recherches sur internet et la doc java.

J'ai créé un classe générique de quickSort() mais je voudrais la faire de deux autres manières: une classe qui implémente l'interface Runnable, et une autre qui extend Thread.

Je vous donne ma classe quickSort qui "extends" mon interface Sortable:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
 
___________________________________________________________
package part1e;
 
/*
 * Class QSort without raw types
 */
 
public class QSort extends Sortable  {
 
 
 
	public static <T extends Comparable<? super T>> void quickSort (T[] a, int from, int to) {
		  // Sort a[fromÖto] 
		    if (from < to) {
		      int p = partition(a, from, to);
		      quickSort(a, from, p-1);
		      quickSort(a, p+1, to);
		    }
		  }
 
		 public static <T extends Comparable<? super T>> void quickSort (T[] a) {
		  // Sort a[fromÖto] without indices as parameters
		     int from=0;
		     int to = a.length-1;
		     if (from < to) {
		      int p = partition(a, from, to);
		      quickSort(a, from, p-1);
		      quickSort(a, p+1, to);
		    }
		  }
 
		  private static <T extends Comparable<? super T>> int partition(T[] a,int from, int to) {
		  // Partition a[fromÖto] such that a[fromÖp-1] are all less than
		  // or equal to a[p] and a[p+1Öto] are all greater than or equal to
		  // a[p].
 
		    T pivot = a[from]; int p = from;
		    for (int r = from+1; r <= to; r++) {
		     int comp = a[r].compareTo(pivot);
		     if (comp < 0) {
		      a[p] = a[r]; a[r] = a[p+1]; a[p+1] = pivot;
		      p++;
		     }
		    }
		    return p;
		  }
 
		  public static <T extends Comparable<? super T>> void test(T[] a,int from, int to){
		  //Test() method to know of the array is sorted
		      boolean b =true;
 
		      while((from<to-1)&&(b==true)){
		          if(a[from].compareTo(a[from+1])>=0){
		              b=false;
		          }
		          from++;
		      }
		      if(b==true)
		          System.out.println("The array is sorted");
		      else
		          System.out.println("The array is not sorted");
		  }
 
 
 
  public static void main(String[] args) {
    Integer[]  aInts = {51, 34, 54, 26, 74, 67, 68, 29, 2, 8, 45};
    test(aInts,0,10);
    QSort.quickSort(aInts,0,10);
    System.out.println("Sorted Integers:");
    for (Integer c : aInts) {
     System.out.print(c + "  ");
   }
   System.out.println();
   test(aInts,0,10);
 
  }
 
}
 
___________________________________________________________
 
package part1f;
 
public interface Sortable {
 
	public  abstract <T extends Comparable<? super T>> void quickSort (T[] a, int from, int to) ;
	public  abstract <T extends Comparable<? super T>> void quickSort (T[] a);
 
}
 
____________________________________________________________
Merci à tous pour vos reponses je l'espere nombreuses.