mirror of
https://github.com/Fare-spec/cours.git
synced 2025-12-08 03:00:37 +00:00
Add university content
This commit is contained in:
28
high-school/fonctions_tri/partitionement.py
Normal file
28
high-school/fonctions_tri/partitionement.py
Normal file
@@ -0,0 +1,28 @@
|
||||
from typing import Any
|
||||
|
||||
|
||||
def partitionement(liste: list[Any], debut, fin):
|
||||
pivot = liste[debut]
|
||||
gauche = debut + 1
|
||||
droite = fin - 1
|
||||
while gauche <= droite:
|
||||
while (gauche <= droite) and (liste[gauche] <= pivot):
|
||||
gauche += 1
|
||||
|
||||
while (gauche <= droite) and (liste[droite] > pivot):
|
||||
droite -= 1
|
||||
|
||||
if gauche < droite:
|
||||
exchange(liste, gauche, droite)
|
||||
gauche += 1
|
||||
droite -= 1
|
||||
exchange(liste, droite, debut)
|
||||
return droite
|
||||
|
||||
|
||||
def exchange(liste, indx_g, indx_d):
|
||||
liste[indx_g], liste[indx_d] = liste[indx_d], liste[indx_g]
|
||||
|
||||
|
||||
l = [12, 4, 0, 44, 27]
|
||||
print(partitionement(l, 0, len(l) - 1))
|
||||
Reference in New Issue
Block a user