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.

64 25 12 22 11 üçün seçimlə çeşidləmə
64 25 12 22 11 üçün seçimlə çeşidləmə

İ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.

python
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)