fork download
  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <ctime>
  4.  
  5. using namespace std;
  6.  
  7. void TabMirror(int tab1[], int tab2[], int s) //kopiowanie z tab1 do tab2
  8. {
  9. for (int i = 0; i < s; ++i)
  10. {
  11. tab2[i] = tab1[i];
  12. }
  13. }
  14.  
  15. void display(int tab1[], int tab2[], int s) //wyswietlanie tablic
  16. {
  17. for (int i = 0; i < s; ++i)
  18. {
  19. cout << "tablica1: " << tab1[i] << "\t\ttablica2: " << tab2[i] << endl;
  20. }
  21. }
  22.  
  23. void quicksort(int tab[], int left, int right){
  24. int i=left;
  25. int j=right;
  26. int x=tab[(left+right)>>1];
  27. do{
  28. while(tab[i]<x) i++;
  29. while(tab[j]>x) j--;
  30. if(i<=j){
  31. int temp=tab[i];
  32. tab[i]=tab[j];
  33. tab[j]=temp;
  34. i++;
  35. j--;
  36. }
  37. }while(i<=j);
  38. if(left<j) quicksort(tab,left,j);
  39. if(right>i) quicksort(tab,i,right);
  40. }
  41.  
  42. void sortowanie_wstawianie( int tab2[], int s )
  43. {
  44. int temp, k;
  45.  
  46. for( int i = 1; i < s; i++ )
  47. {
  48. temp = tab2[ i ];
  49.  
  50. for( k = i - 1; k >= 0 && tab2[ k ] > temp; k-- )
  51. tab2[ k + 1 ] = tab2[ k ];
  52.  
  53. tab2[ k + 1 ] = temp;
  54. }
  55. }
  56.  
  57. void sortowanie_wybor(int tab2[], int s)
  58. {
  59. int j,k;
  60. for(int i = 0; i < s; i++ )
  61. {
  62. k = i;
  63. for( int j = i + 1; j < s; j++ )
  64. if( tab2[ j ] < tab2[ k ] )
  65. k = j;
  66. swap( tab2[ k ], tab2[ i ] );
  67. }
  68. }
  69.  
  70. void sortowanie_babelkowe (int tab2[], int s)
  71.  
  72. {
  73. int k;
  74. for(int i = 0; i < s; i++ )
  75. {
  76. for(k = s;k>=0-1;k-- )
  77. {
  78. if( tab2[k]>tab2[k+1])
  79. swap(tab2[k],tab2[k+1]);
  80. }
  81. }
  82. }
  83. int main()
  84. {
  85. int s = 100; //size
  86. int tab1[s], tab2[s];
  87. cout << "Compare sorting algorythms effiency!" << endl << "Press ENTER to continue." << endl;
  88. cin.get();
  89.  
  90. //dwie tablice z randomowymi liczbami
  91. srand((unsigned)time(0));
  92. for(int i=0; i<s; i++)
  93. {
  94. tab1[i] = (rand()%s)+1;
  95. tab2[i]=tab1[i];
  96. }
  97. //sortowanie przez wybor
  98. sortowanie_wybor(tab2,s);
  99. //kopiowanie tablicy
  100. TabMirror(tab1,tab2,s);
  101. //sortowanie babelkowe
  102. sortowanie_babelkowe(tab2,s);
  103. //kopiowanie tablicy
  104. TabMirror(tab1,tab2,s);
  105. //sortowanie szybkie
  106. quicksort(tab2,0,s);
  107. //kopiowanie tablicy
  108. TabMirror(tab1,tab2,s);
  109. //sortowanie przez wstawianie
  110. sortowanie_wstawianie(tab2,s);
  111. return 0;
  112. }
Success #stdin #stdout 0s 3104KB
stdin
Standard input is empty
stdout
Compare sorting algorythms effiency!
Press ENTER to continue.
tablica1: 57		tablica2: 1
tablica1: 54		tablica2: 1
tablica1: 68		tablica2: 2
tablica1: 1		tablica2: 4
tablica1: 86		tablica2: 6
tablica1: 98		tablica2: 6
tablica1: 87		tablica2: 7
tablica1: 47		tablica2: 8
tablica1: 48		tablica2: 9
tablica1: 8		tablica2: 9
tablica1: 20		tablica2: 10
tablica1: 37		tablica2: 12
tablica1: 19		tablica2: 12
tablica1: 9		tablica2: 14
tablica1: 90		tablica2: 14
tablica1: 24		tablica2: 16
tablica1: 51		tablica2: 17
tablica1: 52		tablica2: 19
tablica1: 36		tablica2: 20
tablica1: 26		tablica2: 20
tablica1: 7		tablica2: 21
tablica1: 50		tablica2: 22
tablica1: 91		tablica2: 22
tablica1: 89		tablica2: 23
tablica1: 23		tablica2: 24
tablica1: 28		tablica2: 25
tablica1: 4		tablica2: 25
tablica1: 32		tablica2: 26
tablica1: 69		tablica2: 27
tablica1: 44		tablica2: 28
tablica1: 75		tablica2: 29
tablica1: 25		tablica2: 30
tablica1: 49		tablica2: 30
tablica1: 43		tablica2: 31
tablica1: 25		tablica2: 32
tablica1: 34		tablica2: 32
tablica1: 92		tablica2: 33
tablica1: 64		tablica2: 33
tablica1: 32		tablica2: 34
tablica1: 39		tablica2: 36
tablica1: 71		tablica2: 36
tablica1: 51		tablica2: 37
tablica1: 76		tablica2: 39
tablica1: 41		tablica2: 39
tablica1: 12		tablica2: 41
tablica1: 17		tablica2: 41
tablica1: 64		tablica2: 43
tablica1: 14		tablica2: 44
tablica1: 21		tablica2: 45
tablica1: 99		tablica2: 47
tablica1: 39		tablica2: 47
tablica1: 27		tablica2: 48
tablica1: 1		tablica2: 49
tablica1: 81		tablica2: 50
tablica1: 68		tablica2: 51
tablica1: 75		tablica2: 51
tablica1: 9		tablica2: 52
tablica1: 71		tablica2: 52
tablica1: 6		tablica2: 54
tablica1: 29		tablica2: 54
tablica1: 66		tablica2: 56
tablica1: 33		tablica2: 56
tablica1: 6		tablica2: 57
tablica1: 14		tablica2: 57
tablica1: 75		tablica2: 64
tablica1: 30		tablica2: 64
tablica1: 99		tablica2: 66
tablica1: 66		tablica2: 66
tablica1: 45		tablica2: 66
tablica1: 31		tablica2: 66
tablica1: 57		tablica2: 67
tablica1: 16		tablica2: 68
tablica1: 33		tablica2: 68
tablica1: 84		tablica2: 69
tablica1: 56		tablica2: 69
tablica1: 96		tablica2: 71
tablica1: 100		tablica2: 71
tablica1: 72		tablica2: 72
tablica1: 10		tablica2: 74
tablica1: 20		tablica2: 75
tablica1: 22		tablica2: 75
tablica1: 100		tablica2: 75
tablica1: 47		tablica2: 76
tablica1: 22		tablica2: 81
tablica1: 81		tablica2: 81
tablica1: 66		tablica2: 84
tablica1: 97		tablica2: 86
tablica1: 41		tablica2: 86
tablica1: 36		tablica2: 87
tablica1: 54		tablica2: 89
tablica1: 69		tablica2: 90
tablica1: 2		tablica2: 91
tablica1: 86		tablica2: 92
tablica1: 74		tablica2: 96
tablica1: 67		tablica2: 97
tablica1: 12		tablica2: 98
tablica1: 56		tablica2: 99
tablica1: 66		tablica2: 99
tablica1: 30		tablica2: 100
tablica1: 52		tablica2: 100