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