Trier sans sort()
Écrire un script js qui
- génére un tableau A d'entiers au hasard,
- ordonne les éléments (ordre croissant) dans le tableau A,
- affiche le résultat.
Contrainte : l'usage de la méthode sort() est interdite.
Écrire un script js qui
Contrainte : l'usage de la méthode sort() est interdite.
Il existe de nombreuses façons de répondre à la demande. Vous pouvez effectuer une recherche sur le web avec les mots clefs "algorithme de tri" pour vous en convaincre.
La solution proposée ci-dessous est simple, bien que peu efficace du point de vue temps de calcul. Il s'agit du principe du tri par sélection. Vous pouvez lire cette page avant de retenter de répondre à l'exercice si vous n'y êtes pas parvenu. Lire ensuite le code proposé.
Écrire un script js qui
sort() .sort() est maintenant interdite.Un code possible.
Dans le code précédent, on parcourt deux fois le tableau pour placer x, ce qui est une perte de temps, il serait préférable d'arrêter la première boucle dès qu'on dépasse x et reprendre la seconde là où l'on a stoppée.
Une façon de mieux contrôler la boucle sera d'utiliser
une boucle while.
On peut également utiliser
break.
C'est ce que nous faisons ci-dessous. break a pour effet de stopper la boucle.
On dispose d'un tableau de résultats (notes sur 20).
t = [ [12,15], [7,13], [17,19], [2, 12], [3, 18],[19,2], [20, 12] ]
On veut trier ces résultats par ordre croissant de régularité.
On se donne ici le critère suivant : des résultats réguliers sont des résultats à amplitude faible (amplitude : différence entre la note la plus haute et la note la plus basse).
Écrire un script triant les résultats ci-dessus.
Reprendre l'exercice précédent mais avec plus de deux notes par élèves :
t = [ [12,15,11], [7,13,14], [17,19,18], [2, 12,10], [3, 18,13],[19,2,17], [20, 12,18] ]