Sorting algorithms/Insertion sort: Difference between revisions

Content added Content deleted
(→‎{{header|C}}: This awful pascal-like implementation is c-ified.)
Line 228: Line 228:
<lang c>#include <stdio.h>
<lang c>#include <stdio.h>


void insertion_sort (int *a, int n) {
void insertion_sort(int *a, int n) {
int i, j, t;
for(size_t i = 1; i < n; ++i) {
int tmp = a[i];
for (i = 1; i < n; i++) {
t = a[i];
size_t j = i;
for (j = i; j > 0 && t < a[j - 1]; j--) {
while(j > 0 && tmp < a[j - 1]) {
a[j] = a[j - 1];
a[j] = a[j - 1];
--j;
}
}
a[j] = t;
a[j] = tmp;
}
}
}
}