j'ai obtenu les bases du code d'insertion mais je suis coincé sur la façon de le comparer avec une autre condition autre que (liste par AZ, ZA)Tri personnalisé avec tri par insertion
pour l'exemple une liste du personnel rangs ont été donnés:
public static final String[] staffrank = {
"Trainee",
"Junior",
"Senior",
"Administrator"
};
J'ai une méthode pour compareRank
Si elle retourne 0 signifie qu'ils sont de rang égal (personnel 1 et 2 du personnel)
si elle renvoie -1 signifie staf f 1 est de rang inférieur personnel 2
si elle retourne 1 signifie que le personnel 1 est un rang plus élevé que le personnel 2
J'ai une liste des états-majors dans le principal
Staff[] snames;
int countname=0;
snames = new Staff[50];
snames[countname++] = new Staff("Amy","Trainee");
snames[countname++] = new Staff("Annie","Junior");
snames[countname++] = new Staff("Tom","Administrator");
snames[countname++] = new Staff("Dave","Trainee");
snames[countname++] = new Staff("Gary","Junior");
snames[countname++] = new Staff("Donna","Senior");
vide alors le type d'insertion comparer le code
public static void insertionSortbyRank(Staff[] snames, int countname) {
//insertion sort
for(int i =1; i < countname; i++) {
int j = i;
int comparerank = Staff.compareRank(snames[j],snames[j-1]);
String name = snames.getName();
String rank = snames.getRank();
//if staff is lower rank
if(comparerank==-1) {
alors je ne suis pas sûr de quoi mettre dans cette boucle while me donner encore une liste non triée
while(j >0 && rank.compareRank(list[j], list[j - 1]) == 1))) {
list[j].rank =[j-1].rank;
list.[j].name = [j-1].name;
j--;
}
puis la fin est de remplacer les nouvelles valeurs
snames[j].name = name;
snames[j].rank = rank;
la sortie suppose de donner: (par ordre de leurs rangs de bas au plus élevé selon le tableau)
Amy, Stagiaire Dave, Stagiaire Annie, junior Gary, junior Donna, senior Tom, administrateur
Toute aide serait appréciée .. merci
c'est un devoir? – soulcheck
Il est étiqueté "devoirs" donc je suppose qu'il est .. :) –
c'était l'une de mes questions d'examen .. mais nous ne saurons pas la réponse car c'était la finale. Je n'ai même pas tagué mes devoirs ... c'était le gars qui a "édité" mon article –