fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void printA(int a[], int n){
  5. int i;
  6. for(i = 0; i < n; i++){
  7. printf("%d ", a[i]);
  8. }
  9. printf("\n");
  10. }
  11.  
  12. void swap(int* a, int* b){
  13. int tmp;
  14. tmp = *a;
  15. *a = *b;
  16. *b = tmp;
  17. }
  18.  
  19. void InsertionSort(int a[], int n){
  20. int i, j, key;
  21. for(i = 1; i < n; i++){
  22. key = a[i];
  23. j = i - 1;
  24.  
  25. while(j >= 0 && a[j] > key){
  26. a[j + 1] = a[j];
  27. j--;
  28. }
  29.  
  30. a[j + 1] = key;
  31. }
  32. }
  33.  
  34. int main(void){
  35. int n, i;
  36. int *v;
  37. scanf("%d", &n);
  38. v = (int*)malloc(sizeof(int) * n);
  39. if(v == NULL){
  40. printf("ERROR\n");
  41. return -1;
  42. }
  43. for(i = 0; i < n; i++){
  44. scanf("%d", &v[i]);
  45. }
  46. InsertionSort(v, n);
  47. printA(v, n);
  48. free(v);
  49. return 0;
  50. }
Success #stdin #stdout 0s 5280KB
stdin
8
21 55 5 13 8 2 34 3
stdout
2 3 5 8 13 21 34 55