Tri par sélection récursif
Page 1 sur 1
Tri par sélection récursif
DEFE PROC tri_s (var t:tab ; deb,fin:entier)
Résultat = t
t = [ ] si deb < fin alors
p ← FN posmin (t,deb,fin)
PROC permut(t[deb],t[p])
PROC tri_s(t,deb+1,fin)
finsi
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
DEF FN posmin ( t:tab;deb,fin:entier) : entier
résultat = posmin ← m
m = [ m ← deb] pour i de deb + 1 à fin faire
si t[i] < t[m] alors m ← i
finsi
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
DEF PROC permut ( var a,b :réel)
résultat = a,b
a ← b
b ← aux
aux ← a
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Résultat = t
t = [ ] si deb < fin alors
p ← FN posmin (t,deb,fin)
PROC permut(t[deb],t[p])
PROC tri_s(t,deb+1,fin)
finsi
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
DEF FN posmin ( t:tab;deb,fin:entier) : entier
résultat = posmin ← m
m = [ m ← deb] pour i de deb + 1 à fin faire
si t[i] < t[m] alors m ← i
finsi
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
DEF PROC permut ( var a,b :réel)
résultat = a,b
a ← b
b ← aux
aux ← a
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Re: Tri par sélection récursif
Salem
bah, je pense que c'est mieux d'utilise seulement le "n" et le "t" comme des parametres formels
DEFE PROC tri_s (var t:tab ; n:entier)
Résultat = t
t = [ ] si n > 1 alors
p ← FN posmax (t,n) {on cherche le max entre en utilisant un compteur qu'a pour debut n-1 et fin 1 pour i de n-1 a 1 faire ... }
PROC permut(t[n],t[p])
PROC tri_s(t,n-1)
finsi {malgré que j'ai changé la proc posmin par posmax mais ce tri reste un tri croissant }
bah, je pense que c'est mieux d'utilise seulement le "n" et le "t" comme des parametres formels
DEFE PROC tri_s (var t:tab ; n:entier)
Résultat = t
t = [ ] si n > 1 alors
p ← FN posmax (t,n) {on cherche le max entre en utilisant un compteur qu'a pour debut n-1 et fin 1 pour i de n-1 a 1 faire ... }
PROC permut(t[n],t[p])
PROC tri_s(t,n-1)
finsi {malgré que j'ai changé la proc posmin par posmax mais ce tri reste un tri croissant }
Invité- Invité
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|