Жиым элементтері екіге – бастапқы тізбекке және дайын тізбекке бөлінеді. Әрбір адымда I=2 нөмірінен бастап, бастапқы берілген тізбектен I-ші элемент алынады да, ол дайын тізбектің керекті жеріне орналастырылады. Мұнан кейін I-ге 1 қосылады да, сол әрекеттер қайталанады.
Керекті орынды іздеу кезінде оң жақтағы келесі элементпен орын ауыстыру қарастырылады, яғни таңдалып алынған элемент сұрыпталғандардың 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) бір өлшемді жиымы берілген. Сол жиым элементтерінің арифметикалық ортасын табу керек.