Подреди масива във възходящ

К-1 елементи са разположени на [0]<= a[1] <=. <= a[k-1]
Сравни на [К-1] и [к].
Ако [К-1] <= a[k], то ничего делать не надо.
Ако [к-1]> на [к], след това ги разменят.
сега
на [0]<= a[1] <=. <= a[k-2] и a[k-1] <= a[k],
За да могат да бъдат разделени само между [к-2] и [к-1].






Сравни на [К-2] и [к-1].
Ако [K-2] <= a[k-1], то все k элементов упорядочены.
Ако [к-2]> а [К-1], след това ги разменят.
сега
на [0]<= a[1] <=. <= a[k-3] и a[k-2] <= a[k-1] <= a[k],






Сравни на [к-3] и [к-2].
.

// въведете елемент [к] между [0]<= a[1] <=. <= a[k-1]
// да се подредена последователност от к елементи
за (I = к; I> = 1; i--)
ако (а [I-1]> а)
// обмен на [I-1] и
>
още
прекъсване;
>

#include
#include

шаблон
Пътека невалидни insertSortGuarded (Т на [], дълъг размер) T X;
дълго I, J;
Т = архивиране на [0];


за (I = 1; и

за (J = 1; а [й]> х; j--)
на [к + 1] = а [й];


за (к = 1; й на [J-1] = а [й];

но при свързването на грешка:
Неопределен _main символ в модул s0.ASM