fork download
  1. //(c)Terminator
  2. #include <stdio.h>
  3.  
  4.  
  5. void re_isort(int* first, int* last){
  6. int* ptr, *iter, *p, tmp;
  7.  
  8. for(iter = first; iter != last; ++iter) {
  9. tmp = *iter;
  10. for(ptr = first; (ptr != iter) && (*ptr > tmp); ++ptr);
  11.  
  12. for(p = iter - 1; p >= ptr; --p)
  13. *(p + 1) = *p;
  14.  
  15. *ptr = tmp;
  16. }
  17. }
  18.  
  19.  
  20. int main(void){
  21. int arr[] = { -9, 5, 7, 4, 3, 8, 2, 1, 6, 5, 1 };
  22. int i, num = sizeof(arr)/sizeof(int);
  23.  
  24. re_isort(arr, arr + num);
  25.  
  26. for(i = 0; i < num; ++i)
  27. printf("%d ", arr[i]);
  28. return 0;
  29. }
Success #stdin #stdout 0s 2292KB
stdin
Standard input is empty
stdout
8 7 6 5 5 4 3 2 1 1 -9