Жиым элементтері екіге – бастапқы тізбекке және дайын тізбекке бөлінеді. Әрбір адымда I=2 нөмірінен бастап, бастапқы берілген тізбектен I-ші элемент алынады да, ол дайын тізбектің керекті жеріне орналастырылады. Мұнан кейін I-ге 1 қосылады да, сол әрекеттер қайталанады.
44
55
12
42
94
18
дайын тізбек
бастапқы тізбек
Керекті орынды іздеу кезінде оң жақтағы келесі элементпен орын ауыстыру қарастырылады, яғни таңдалып алынған элемент сұрыпталғандардың J=I-1 нөмірінен басталатын кезекті элементімен салыстырылады. Егер таңдалып алынған элемент a[I]-ден артық болса, онда ол сұрыпталғандар ішіне қосылады, әйтпесе a[J] бір орынға ығысады да, таңдалған элемент сұрыпталғандар ішіндегі келесі элементпен салыстырылады. Керекті орынды іздеу әрекеті екі жағдайда:
егер a[J]>a[I] болатын элемент табылса;
дайын тізбектің сол жақ шетіне жеткен кезде аяқталады.
Мысалы:
int i,j,x; for(i=1;i { x=a[i];//ауысатын элементті есте сақтау j=i-1; while(x=0) //керекті орынды іздеу { a[j+1]=a[j]$ //оңға жылжыту j--; } a[j+1]=x;//элементті кірістіріп қою } 10-есеп.Бүтін сандардан құралған А(10) бір өлшемді жиымы берілген. Сол жиым элементтерінің арифметикалық ортасын табу керек.