Seçimlə çeşidləmə solda çeşidlənmiş prefiksi, sağda çeşidlənməmiş qalığı saxlayır. Hər addımda qalığın minimumunu tapır və onu qalığın ilk elementi ilə dəyişir. Müqayisələr çoxdur, yer dəyişmələr isə ən çoxu n - 1-dir. Xassələr çeşidləmənin xassələri dərsində təsvir olunub.
İnvariant
i addımdan sonra a[:i] massivin ən kiçik i elementini çeşidlənmiş sırada saxlayır, qalığın hər elementi isə prefiksin istənilən elementindən kiçik deyil. i = n - 1 olanda sonuncu element avtomatik öz yerindədir.
a = [64, 25, 12, 22, 11]
n = len(a)
for i in range(n - 1):
m = i
for j in range(i + 1, n):
if a[j] < a[m]:
m = j
a[i], a[m] = a[m], a[i]
print("i =", i, "min at", m, a)