Advertisement
Guest User

heap

a guest
Jun 26th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. package AundD789;
  2.  
  3. public class HeapSort {
  4. // Versickere das Element mit Index zuversickern in dem Teilfeld von Index
  5. // links bis einschließlich Index rechts
  6. public static void versickere(int[] array, int zuversickern, int links, int rechts) {
  7. int i = zuversickern;
  8. int x = array[i];
  9. // int j=0;
  10. boolean verE = true;
  11. while (2 * i + 1 <= rechts) {
  12. int j = (2 * i) + 1;
  13. if (j + 1 <= rechts && array[j] < array[j + 1]) {
  14. j = j + 1;
  15. }
  16.  
  17. if (x < array[j]) {
  18. array[i] = array[j];
  19. i = j;
  20. } else {
  21. array[i] = x;
  22. i = rechts;
  23. verE = false;
  24. }
  25. }
  26. if (verE) {
  27. array[i] = x;
  28. }
  29. }
  30.  
  31. public static void heapsort(int[] array, int links, int rechts) {
  32. for (int i = ((links + rechts) / 2); i >= 0; i--) {
  33. versickere(array, i, links, rechts);
  34. }
  35. int k = 1;//zähler
  36. for (int i = (rechts+links) ; i >= 0; i--) {
  37.  
  38. int temp = array[0];
  39. array[0] = array[i];
  40. array[i] = temp;
  41. versickere(array, links, i - 1, rechts - k);
  42. k++;
  43. }
  44.  
  45. }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement