Advertisement
Guest User

Untitled

a guest
Apr 20th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. void merge(int first, int mid, int kon)
  2. {
  3. int i,j,q;
  4. for (i=first; i<=kon; i++) arrayBis[i]=array[i]; // Skopiowanie danych do tablicy pomocniczej
  5. i=first; j=mid+1; q=first; // Ustawienie wskaźników tablic
  6. while (i<=mid && j<=kon) { // Przenoszenie danych z sortowaniem ze zbiorów pomocniczych do tablicy głównej
  7. if (arrayBis[i]<arrayBis[j])
  8. tab[q++]=t[i++];
  9. else
  10. tab[q++]=t[j++];
  11. }
  12. while (i<=mid) tab[q++]=t[i++]; // Przeniesienie nie skopiowanych danych ze zbioru pierwszego w przypadku, gdy drugi zbiór się skończył
  13. }
  14.  
  15. /* Procedura sortowania tab[first...kon] */
  16. void mergesort(int first, int kon)
  17. {
  18. int mid;
  19. if (first<kon) {
  20. mid=(first+kon)/2;
  21. mergesort(first, mid); // Dzielenie lewej części
  22. mergesort(mid+1, kon); // Dzielenie prawej części
  23. merge(first, mid, kon); // Łączenie części lewej i prawej
  24. }
  25. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement