Advertisement
Guest User

Untitled

a guest
May 25th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.43 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. //dupa
  4. // sortowanie przez wstawianie
  5. void sort(int tab[])
  6. {
  7. int i=0,x=0,j=0;
  8. for(i=18;i>=0;i--)
  9. {
  10. x=tab[i];
  11. j=i+1;
  12. while((j<20)&&(x>tab[j]))
  13. {
  14. tab[j-1]=tab[j];
  15. j++;
  16. }
  17. tab[j-1]=x;
  18. }
  19. }
  20.  
  21. //sortowanie przez wybor
  22. void sort2( int tab[], int size )
  23. {
  24. int k,tmp,i,j;
  25. for(i = 0; i < size; i++ )
  26. {
  27. k = i;
  28. for(j = i + 1; j < size; j++ )
  29. if( tab[ j ] < tab[ k ] )
  30. k = j;
  31.  
  32. tmp=tab[i];
  33. tab[i]=tab[k];
  34. tab[k]=tmp;
  35. }
  36. }
  37. //sortowanie kubelkowe
  38. void sortowanieKubelkowe( int tab[],int n)
  39. {
  40. int maxx,minn,pom,i,j;
  41. maxx=minn=tab[0];
  42. for(i=0;i<n;i++)
  43. {
  44. if(tab[i]>maxx) maxx=tab[i];
  45. if(tab[i]<minn) minn=tab[i];
  46. }
  47. pom=(maxx-minn)+1;
  48. int licz[pom];
  49. int zlicz=0;
  50. for(i=minn;i<=maxx;i++)
  51. {
  52. for(j=0;j<n;j++)
  53. {
  54. if(i==tab[j]) zlicz++;
  55. }
  56. licz[i]=zlicz;
  57. zlicz=0;
  58. }
  59. printf("\n Zliczone kubelki: \n");
  60. for(i=0;i<pom;i++)
  61. {
  62. printf("%d ",licz[i]);
  63. }
  64. printf("\n");
  65. printf("\n");
  66. j=0;
  67. for(i=0;i<n;i++)
  68. {
  69. if(licz[j]==0)
  70. {
  71. j++;
  72. i--;
  73. }
  74. else
  75. {
  76. tab[i]=j;
  77. licz[j]--;
  78. }
  79.  
  80. }
  81. }
  82.  
  83.  
  84. void quicksort(int tab[],int p,int k)
  85. {
  86. int i=p,j=k,tmp;
  87. int sr=(p+k)/2;
  88. int x=tab[sr];
  89.  
  90. do{
  91. while(tab[i]<x)i++;
  92. while(tab[j]>x)j--;
  93.  
  94. if(i<=j)
  95. {
  96. tmp=tab[i];
  97. tab[i]=tab[j];
  98. tab[j]=tmp;
  99.  
  100. i++;
  101. j--;
  102. }
  103. }while(i<=j);
  104.  
  105. if(p<j)quicksort(tab,p,j);
  106. if(k>i)quicksort(tab,i,k);
  107.  
  108. }
  109.  
  110. int main()
  111. {
  112. int tab[20];
  113. int i,j;
  114. printf("Nieposortowana tablica: \n");
  115. //losowanie i wyswietlanie tablicy nie posortowanej
  116. for(i=0;i<20;i++)
  117. {
  118. tab[i]=rand()%10;
  119. printf("%d ",tab[i]);
  120. }
  121.  
  122. printf("\n");
  123. /*
  124. sort2(tab,20);
  125. printf("Posortowana tablica: \n");
  126. for(j=0;j<20;j++)
  127. {
  128. printf("%d ",tab[j]);
  129. }
  130. */
  131. printf("\n");
  132. sortowanieKubelkowe(tab,20);
  133. printf("Posortowana tablica: \n");
  134. for(j=0;j<20;j++)
  135. {
  136. printf("%d ",tab[j]);
  137. }
  138. return 0;
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement