Kody źródłowe/Sortowanie przez wstawianie: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Matekm (dyskusja | edycje)
przeniesione z Wikipedia: autorzy: http://pl.wikipedia.org/w/index.php?title=Sortowanie_przez_wstawianie&action=history
 
→‎C: Dodanie wersji z wyszukiwaniem połówkowym
Linia 7:
 
== C ==
Wersja klasyczna:
<source lang="c">
void insertSort(int a[], int length)
Linia 23 ⟶ 24:
a[j + 1] = value;
}
}
</source>
Wersja z wyszukiwaniem połówkowym:
<source lang="c">
void insertionsortwithsearch(int table[], int size)
{
int i;
for ( i=1; i<=size; i++ )
{
int j, l, p, key, m, temp;
key = table[i];
l = 0;
p = i-1;
while ( l<=p )
{
m=(l+p)/2;
if(key<table[m])
{
p = m-1;
} else {
l = m+1;
}
}
for(j=i-1; j>=l; --j)
{
table[j+1] = table[j];
}
table[l] = key;
}
}
</source>