-2
votes

Mer l'élément triant dans l'ordre croissant à l'aide d'une unité unique et d'une unité à double chiffre

Je suis capable de trier avec ce code ci-dessous dans l'ordre croissant, mais en raison de l'unité unique et du double chiffre (des moyens 9, 19,5, 12), il ne commande pas de trier en conséquence

Ceci est la table dynamique que je dois valider l'ordre croissant et décroissant. xxx

sortie xxx

Comment puis-je corriger l'ordre de tri avec célibataire et Double numéro unitaire.


3 commentaires

Vous triez en fonction des cordes pas des chiffres. Si vous souhaitez trier par une valeur numérique, vous devrez d'abord convertir les chaînes en chiffres.


@JEFFC Comment puis-je y parvenir?


int i = integer.parseint (tritedlist); Où devrais-je placer? Est correct? Je reçois cette erreur "la méthode parseint (String) dans le type Entier n'est pas applicable pour les arguments (ArrayList )"


3 Réponses :


1
votes

La comparaison est faite à cette ligne xxx

inadorder pour modifier l'ordre de tri de Ascending pour descendre, il vous suffit de modifier > vers << / CODE>

EDIT

Comme commenté par d'autres, inonder à la valeur numérique, vous devrez convertir les chaînes en chiffres. Vous pouvez le faire en modifiant ce qui précède sur: xxx


1 commentaires

Merci mais maintenant j'ai un problème avec un numéro unitaire simple et double



0
votes

Convertissez la matrice de chaîne en une matrice entier et vous pouvez appliquer n'importe quel algorithme pour trier le tableau.

int arr []= new int[strArray.length];
    for (int i = 0; i < strArray.length; i++) {
        arr[i] = Integer.parseInt(strArray[i]);
    }
    for (int i = 0; i < arr.length; i++) {
    for (int j = i + 1; j < arr.length; j++) {
        if (arr[i]>arr[j]) {
            int temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
        }
    }


1 commentaires

Où voulez-vous trier le tableau de chaîne y mettre là-bas? Il n'y a rien de spécial à dire.



0
votes

Puisque vous avez déjà la liste de l'ordre d'accent, le moyen le plus rapide d'inverser la liste, voir ici: Liste de réseau inversé

Pour trier dans la commande décroissante, les valeurs de chaîne doivent être converties en tiers ( Supposez que le type entier peut contenir la valeur de la valeur), vous pouvez simplement faire: P>

    // convert the array to list
    List<String> strList = Arrays.asList(strArray);

    // sort the list in descending order 
    Collections.sort(strList, (a, b) -> Integer.parseInt(a) > Integer.parseInt(b) ? -1 : 1);


0 commentaires