fork download
  1. #include <stdio.h>
  2. int find_min(int ary[], int start, int end)
  3. {
  4. int x = start;
  5. for(int i = start + 1; i < end; i++) {
  6. if (ary[i] < ary[x])
  7. x = i;
  8. }
  9. return x;
  10. }
  11. void swap(int ary[], int x, int y) {
  12. int tmp;
  13. tmp = ary[x];
  14. ary[x] = ary[y];
  15. ary[y] = tmp;
  16. }
  17. void insertion_sort(int ary[], int nelem)
  18. {
  19. for (int i = 0; i < nelem; i++) {
  20. int n = find_min(ary,i,nelem);
  21. swap(ary,i,n);
  22. }
  23. }
  24. int main () {
  25. int x[] = {5, 4, 2, 8, 6, 1};
  26. insertion_sort(x, 6);
  27. for(int i = 0; i < 6; i++) {
  28. printf("x[%d] = %d\n", i, x[i]);
  29. }
  30. return 0;
  31. }
  32.  
Success #stdin #stdout 0s 9416KB
stdin
Standard input is empty
stdout
x[0] = 1
x[1] = 2
x[2] = 4
x[3] = 5
x[4] = 6
x[5] = 8