Algorytm sortowania przez wstawianie rozpoczyna się od porównania dwóch pierwszych elementów sortowanej tablicy.
Jeśli nie są one ustawione we właściwej kolejności, to następuje zamian miejsc.
Następnie rozważany jest kolejny element i wstawiany jest we właściwe miejsce.
Schemat algorytmu sortowania przez wstawianie jest następujący:
umieść element we właściwym miejscu;
przesuń wszystkie elementy tablicy większe niż wstawiony element o jedną pozycję w prawo;
Przykład: sortowanie ciągu (3,1,2,0):
Implementacja funkcji sortującej w c:
int wstawianie(int a[])
{
for (i=1; i<rozmiar;i++)
{
j=i-1;
x=a[i];
przyp+=2;
while((j>=0) && (x<a[j]))
{
por++;
a[j+1]=a[j];
j--;
przyp++;
}
a[j+1]=x;
przyp++;
}
![]() |
|
![]() |
![]() |
|||||||||||||||||||||||||||
![]() |
![]() |
|||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||
![]() |
![]() |