Tri par Maximum
1 ##### I n i t i a l i s a t i o n
2 # l a zone p i o c h e
3 p i o c h e = [101011 , 110111 , 100111 , 101010 , 101100]
4 # l a zone dé f a u s s e
5 defausse = [ ]
6 # l a zone t r i ée
7 t r i e e s = [ ]
8
9 ##### T r i
10 # t a n t qu ’ i l r e s t e des nombres dans c a r t e s
11 # l e n compte l e s é l éments d ’ une l i s t e
12 w h i l e l e n( p i o c h e ) > 0 :
13 # Tant qu ’ i l y a des c a r t e s dans l a p i o c h e
14 # On prend l a premi è r e c a r t e gr âce au . pop ( )
15 carte_max = p i o c h e . pop ( )
16 # On va l a comparer avec t o u t e s l e s a u t r e s
17 w h i l e l e n( p i o c h e ) > 0 :
18 # On prend une a u t r e c a r t e
19 c a r t e = p i o c h e . pop ( )
20 i f carte_max > c a r t e :
21 # S i e l l e e s t p l u s p e t i t , on l ’ a j o u t e dans l a defausse
22 defausse . append ( c a r t e )
23 e l s e:
24 # Sinon c ’ e s t l ’ a u t r e qu ’ on defausse
25 defausse . append ( carte_max )
26 # e t on garde l a c a r t e t i r ée dans l a main
27 carte_max = c a r t e
28 # On a j o u t e l a c a r t e max dans l e s c a r t e s t r i é es
29 t r i e e s . append ( carte_max )
30 # La defausse r e d e v i e n t l a p i o c h e
31 p i o c h e = defausse
32 # On v i d e l a defausse
33 defausse = [ ]
34
35 ##### F i n
36 # On a f f i c h e l e s c a r t e s t r i é es
37 p r i n t( t r i e e s )