fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. /* prints array */
  5. void pa (int *a, int len, char *s);
  6. int comp=0,swaps=0;
  7. int main() {
  8. /* unsorted array */
  9. int a[1000] ,qwe;
  10. srand(time(0));
  11. for(qwe=0;qwe<1000;qwe++)
  12. a[qwe]=rand();
  13. int a_len = 1000;
  14. pa(a, a_len, "unsorted array");
  15.  
  16. /* sort array */
  17. int issorted = 1;
  18. do {
  19. // printf("\tsorting..\n");
  20. issorted = 1;
  21. int c;
  22. for (c = 1; c <a_len ; c++) {
  23. comp++;
  24. if (a[c] < a[c-1]) {
  25. swaps++;
  26. issorted = 0;
  27. // printf("\t\tswapping a[%d]=%d and a[%d]=%d\n", c-1, a[c-1], c, a[c]);
  28. int tmp = a[c];
  29. a[c] = a[c-1];
  30. a[c-1] = tmp;
  31. }
  32. }
  33. } while (issorted == 0);
  34. printf("comparisons = %d swaps=%d\n",comp,swaps);
  35. pa(a, a_len, "sorted array");
  36.  
  37. return 0;
  38. }
  39.  
  40. /* prints array */
  41. void pa (int *a, int len, char *s) {
  42. /*printf("%s: ", s);
  43.   int c;
  44.   for (c = 0; c < len; c++) {
  45.   printf("%d ", a[c]);
  46.   }
  47.   printf("\n");*/
  48. }
  49.  
Success #stdin #stdout 0s 2248KB
stdin
Standard input is empty
stdout
comparisons = 946053  swaps=247855