fork download
  1. #include <stdio.h>
  2.  
  3. int comp = 0;
  4. int swap = 0;
  5.  
  6. /* 挿入ソート*/
  7. void insertion_sort(int a[], int n){
  8. int i,j,t;
  9. for(i=1; i<n; i++){
  10. t = a[i];
  11. comp++;
  12. j=i;
  13. while(j>=1 && ++comp && t < a[j-1]){
  14. a[j] = a[j-1];
  15. j--;
  16. swap++;
  17. comp++;
  18. }
  19. a[j] = t;
  20. }
  21. }
  22.  
  23. int main(void) {
  24. int a[] = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
  25. insertion_sort(a, 10);
  26.  
  27. printf("nr_comp=%d nr_swap=%d\n", comp, swap);
  28. for(int i=0; i<10; i++) {
  29. printf("%d: %d\n", i, a[i]);
  30. }
  31. return 0;
  32. }
  33.  
  34.  
Success #stdin #stdout 0s 4484KB
stdin
Standard input is empty
stdout
nr_comp=99 nr_swap=45
0: 1
1: 2
2: 3
3: 4
4: 5
5: 6
6: 7
7: 8
8: 9
9: 10