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
|
import javax.swing.*;
public class projet{
public static void main(String[] args){
int B[] = {5,7,9,24,0,8,8,88,76,64};
int taille=10;
int largeur=640;
int longueur=640;
construire_tas(B,10);
trier_tas(B,10);
}
public static void trier_tas(int A[],int taille){construire_tas(A,taille);
for(int i=taille-1;i>=1;i--){
swap(A,i,0);}
entasser(A,0,taille); }
public static void entasser(int A[],int i,int n){int c=0;
if(gauche(i)>= n-1)return ;
c=gauche(i);
if (droite(i)<n-1){ if(A[droite(i)]>A[c]){c=droite(i);}
if(A[i]<A[c]){
swap(A,c,i);
entasser(A,c,n);
}
}}
public static void construire_tas(int A[],int n){
for(int i=0;i<n;i++){
if((A[i]<A[gauche(i)])||(A[i]<A[droite(i)])){ entasser(A,i,n);}
}
}
public static int pere(int i){
return ((i-1)/2);
}
public static int gauche(int i){
return ((2*i)+1);
}
public static int droite(int i){
return ((2*i)+2);
}
public static void swap(int tab[],int a,int b){int c;
c=tab[a];
tab[a]=tab[b];
tab[b]=c;
}} |
Partager