B
    aq]+  ã               @   sz   d dl T dd„ Zdd„ ZedƒZe d¡Zg ZxeD ]Ze e	eƒ¡ q4W e
deeƒ d	 ƒ e
d
ƒ eeƒ edƒ dS )é    )Ú*c             C   s¦   d}d}g }xZ|t | ƒk rf|t |ƒk rf| | || k rN| | | ¡ |d }q| || ¡ |d }qW |t | ƒk r†|| |d… 7 }n|t |ƒk r¢|||d… 7 }|S )u€   
    fusion(list left, list right) -> list
    Fusionne les listes triÃ©es <left> et <right> en une nouvelle liste <result>
    r   é   N)ÚlenÚappend)ÚleftÚrightÚiÚjÚresult© r   úi/Users/jerome/SynologyDrive/College/Informatique/OCI/1_Site/2_Algorithmique/1_Tri/documents/TestFusion.pyÚfusion   s    
r   c                s*   ‡ fdd„‰ ˆ | ƒ| dd…< t d| ƒ dS )u[   
    TriFusion(list liste) -> None
    Trie la liste de nombres de maniÃ¨re croissante
    c          	      sœ   t | ƒdk r| S td| d| d t | ƒd … d| t | ƒd d … ƒ t | ƒd }| d |… }| |d … }ˆ |ƒ}ˆ |ƒ}td|d|dt||ƒƒ t||ƒS d S )Né   u   DÃ©coupage deÚenÚetzFusion des listes)r   Úprintr   )ÚlisteZmidr   r   Z
leftSortedZrightSorted)ÚTriFusionInterner   r   r   (   s    2z#TriFusion.<locals>.TriFusionInterneNu)   Processus terminÃ© ! La liste triÃ©e est:)r   )r   r   )r   r   Ú	TriFusion#   s    r   uB   Entrez les Ã©lÃ©ments entiers de la liste sÃ©parÃ©es de virgules: ú,u   La liste Ã  trier est: Ú
zLancement du tri... 
u0   Appuyez sur une touche pour fermer la fenÃªtre !N)Úrandomr   r   ÚinputZentreeÚsplitr   Úeltr   Úintr   Ústrr   r   r   r   Ú<module>   s   

