ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
2289
2289
EMPFEHLEN
-
Hallo, ich versuche mich gerade mit Heap-Sort anzufreunden
aber irgendwie verstehe ich nicht alles und komme einfach nicht weiter.
Kann mir vielleicht jemand helfen, und sagen wie ich einen Heap aus gespeicherten Daten (z.B: daten[12, 7, 1, 22, 3, ...] ) erstelle?
Danke im Vorraus
Gz Gaan
-
Ich bin zwar nicht der große Sortier Experte, aber schau doch mal hier drauf
-
15.07.09 21:40 #3
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.885
- Blog-Einträge
- 29
Hallo,
schau mal hier:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
package de.tutorials; import java.util.Arrays; public class HeapSortExample { /** * @param args */ public static void main(String[] args) { Heap heap = new Heap(57, 16, 62,1000, 30, 80, 7, 21, 78, 41); System.out.println(heap); System.out.println(heap.sort()); } static class Heap { int[] a; public Heap(int... values) { this.a = values; } public Heap sort() { for (int i = a.length / 2; i >= 0; i--) { sink(i, a.length-1); } for (int m = a.length - 1; m > 0; m--) { int tmp = a[0]; a[0] = a[m]; a[m] = tmp; sink(0, m - 1); } return this; } private void sink(int i, int t) { int j = 2 * i; int k = j + 1; if (j <= t) { if (a[i] >= a[j]) { j = i; } if (k <= t) { if (a[k] > a[j]) { j = k; } } if (i != j) { int tmp = a[i]; a[i] = a[j]; a[j] = tmp; sink(j, t); } } } @Override public String toString() { return Arrays.toString(a); } } }
Ausgabe:
Code :1 2
[57, 16, 62, 1000, 30, 80, 7, 21, 78, 41] [7, 16, 21, 30, 41, 57, 62, 78, 80, 1000]
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
Ähnliche Themen
-
1000 "Knoten" im Heap erstellen, dem letzten Element einen Wert zuweisen
Von mrs_schokokeks im Forum C/C++Antworten: 8Letzter Beitrag: 13.08.10, 14:06 -
Binary Insertion Sort vs. Insertion Sort
Von Dolphon im Forum C/C++Antworten: 2Letzter Beitrag: 05.01.09, 19:47 -
Heap Corruption
Von NBOne im Forum C/C++Antworten: 1Letzter Beitrag: 14.01.08, 12:27 -
sort
Von -Ener- im Forum PHPAntworten: 3Letzter Beitrag: 12.04.05, 01:22 -
Heap erstellen - wie?
Von RealScorp im Forum Visual Basic 6.0Antworten: 2Letzter Beitrag: 12.11.04, 10:17





Zitieren

Login





