🔹 الگوریتم از عنصر دوم شروع میکنه، هر بار یک عدد رو بهعنوان key برمیداره، اعداد بزرگترِ بخش مرتبشده رو یک خانه به راست شیفت میده و key رو توی جای درستش قرار میده. این کار تا آخر آرایه ادامه پیدا میکنه تا کل لیست مرتب بشه.
کد:
def insertion_sort(a):
n = len(a)
for i in range(1, n):
key = a[i]
j = i - 1
while j > 0 and a[j - 1] > key:
a[j] = a[j - 1]
j -= 1
a[j] = key
🐍 @python_rd