Tri par insertion
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonsoir à tous Bonsoir à tous, je bloque sur un programme avec le tri de tableau, je ne comprend pas comment marche le code en complet, en gros je sais que pour trier un tableau d'une taille x, il faut trier le sous-tableau composé des x-1 premières composantes puis insérer le xème élément à sa place. Le code est le suivant:
le sous-programme <couleur nom="vertf">insérer</couleur>, quant à lui, prend la forme suivante:
Voila je ne sais pas comment interpréter ce code, si vous avez une idée?
PROCEDURE tri_insertion(ENTIER n, ENTIER tableau [n] DEBUT SI (n>1) ALORS DEBUT tri_insertion(n-1,tableau); insérer(n,tableau); FIN
le sous-programme <couleur nom="vertf">insérer</couleur>, quant à lui, prend la forme suivante:
PROCEDURE inserer(ENTIER n,ENTIER tableau[n]) DEBUT ENTIER i,tmp; SI (tableau [n-1]> tableau[n] ALORS DEBUT tmp=tableau[n]; i=n-1; TANT QUE (i>0 ET tableau[i]>tmp) REPETER DEBUT tableau[i+1]=tableau[i]; i--; FIN tableau[i+1]=tmp; FIN FIN
Voila je ne sais pas comment interpréter ce code, si vous avez une idée?
A voir également:
- Tri par insertion
- Excel trier par ordre croissant chiffre - Guide
- Logiciel tri photo - Guide
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
1 réponse
Le langage machine "en interpréteur de commandes" que je vous ai envoyé au tout début enfin je ne sais pas si on l'apelle comme cela, ce n'est pas du langage machine qu'on tape directement dans un assembleur/compilateur tel que CodeBlocks.
Je ne comprend pas les lignes "tri_insertion(n-1,tableau);" ET "insérer(n,tableau);" je ne vois pas comment l'interpréter par écrit avec un exemple qui est un tableau de 6 caractères avec comme chiffres (6 1 3 4 5 2). C'est plus simple de la faire en itératif qu'en récursif mais je me doute un peu que la technique de tri n'est pas encore adéquate, le cours sert justement à cela, on nous montre des instructions avec certaines lignes pouvant être améliorées par après.
Je ne comprend pas les lignes "tri_insertion(n-1,tableau);" ET "insérer(n,tableau);" je ne vois pas comment l'interpréter par écrit avec un exemple qui est un tableau de 6 caractères avec comme chiffres (6 1 3 4 5 2). C'est plus simple de la faire en itératif qu'en récursif mais je me doute un peu que la technique de tri n'est pas encore adéquate, le cours sert justement à cela, on nous montre des instructions avec certaines lignes pouvant être améliorées par après.