//(c)Terminator
#include <stdio.h>


void  re_isort(int* first, int* last){
	int* ptr, *iter, *p, tmp;

	for(iter = first; iter != last; ++iter) {
		tmp = *iter;
		for(ptr = first; (ptr != iter) && (*ptr > tmp); ++ptr);

		for(p = iter - 1; p >= ptr; --p)
			*(p + 1) = *p;

		*ptr = tmp;
	}
}


int main(void){
	int arr[]  = { -9, 5, 7, 4, 3, 8, 2, 1, 6, 5, 1 };
	int i, num = sizeof(arr)/sizeof(int);

	re_isort(arr, arr + num);

	for(i = 0; i < num; ++i)
		printf("%d ", arr[i]);
	return 0;
}