Տեղադրումով տեսակավորում ալգորիթմը շատ նման է selection sort ալգորիթմին։ Այն բավականին ինտուիտիվ է. Ալգորիթմը միշտ պահպանում է զանգվածի ձախ մասի տեսակավորված վիճակը և շարունակաբար շարժվում է դեպի աջ՝ քանի դեռ չի հասել զանգվածի վերջին։
Insertion sort ալգորիթմում մենք սկսում ենք զանգվածի ամենաձախ էլեմենտից և քայլ առ քայլ շարժվում դեպի աջ։ Հենց հանդիպում ենք արժեքի, որը փոքր է ձախ կողմում գտնվող էլեմենտներից, հերթով մեկ դիրք աջ ենք հրում այդ էլեմենտները, որպեսզի տեղ ազատենք և նոր արժեքը տեղադրենք համապատասխան դիրքում։ Օրինակ, եթե ունենք [0, 2, 4, 1, 10, 8] զանգվածը և դիտարկում ենք 1 արժեքը, նախ մի քայլով աջ ենք հրում 4-ը, հետո 2-ը և ապա 1-ը տեղադրում ենք 0-ի ու 2-ի միջև՝ ստանալով [0, 1, 2, 4, 10, 8]։ Հաջորդ քայլին դիտարկում ենք 10-ը, բայց ոչինչ չենք անում, քանի որ այն մեծ է ձախ կողմի բոլոր էլեմենտներից։ Այնուհետև վերցնում ենք 8-ը, և մեկ քայլով աջ ենք հրում 10-ը, որպեսզի 8-ը տեղադրենք 4-ի ու 10-ի միջև։
a = [...]
for i in range(1, len(a)): # սկսում ենք երկրորդ էլեմենտից
while i > 0 and a[i] < a[i - 1]: # քանի դեռ ընթացիկ էլեմենտը փոքր է նախորդից
a[i - 1], a[i] = a[i], a[i - 1] # տեղերով փոխում ենք ընթացիկ էլեմենտը նախորդի հետ
i -= 1 # հետևեում ենք ընթացիկ էլեմենտի ինդեքսին
print(a)
Insertion sort ալգորիթմը ամեն հաջորդ էլեմենտը տեղադրում է արդեն սորտավորված մասի ճիշտ դիրքում։ Այդ պատճառով, ամենավատ դեպքում (երբ զանգվածի էլեմենտները նվազման կարգով են դասավորված), յուրաքանչյուր նոր էլեմենտի համար հարկավոր է շարժել մինչ այդ գտնվող բոլոր էլեմենտները, ինչի արդյունքում ընդհանուր գործողությունների քանակը ստացվում է ։