Quoted
Original von Zypressen Hügel
shit. kann mir jemand bestätigen, dass, wenn man versucht, mehr als ~5000 zufallszahlen von dem GUI sortieren zu lassen, mein rechner mit 1.2GHz und ca.400MB RAM nicht mehr reagiert wegen überlastung???
hab ich den falschen algorithmus![]()
Da hat er saubere Arbeit geleistet.
(ok, egal, weil kleinigkeit, aber vielleicht weiss ja trotzdem jemand, woran das liegt)
Quoted
Original von Zypressen Hügel
[...], den focus von anfang an, also direkt nach dem programmstart auf das TextField zu setzen (habs direkt nach der instanziierung und direkt nach der aufnahme ins JPanel und direkt nach der aufnahme des JPanel ins ContentPane versucht)


denn requestFocus() arbeitet einwandfrei, wenn ich die requestFocus() im ActionListener anwende...
Quoted
Original von Zypressen Hügel
[...] denn requestFocus() arbeitet einwandfrei, wenn ich die requestFocus() im ActionListener anwende...
Quoted
Jemand, der das Werk eines anderen nicht versteht oder nicht genau genug studiert, sollte sich in seinen Äußerungen über die Qualität des Werkes vornehm zurückhalten ...
dachte ich jedenfalls. ich habe nur festgestellt, dass der algorithmus, so wie ICH ihn programmiert habe, eben die macke hat, dass im blinden vertrauen auf den algorithmus eine übergabe von gleichen objekten im array dazu führt, dass der algorithmus abschmiert bzw. nach über einen halben stunde wartezeit kein ergebnis bringt und deshalb nun einmal mit QUICKsort nicht viel zu tun hat. es sollte nicht beleidigend sein.

|
|
Source code |
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 |
[B]static
private
class ArrayElement
implements Comparable
{
Comparable element;
int index;
ArrayElement(
Comparable element,
int index
)
{
this.element = element;
this.index = index;
}
public
int
compareTo(
Object o
)
{
ArrayElement ae = (ArrayElement) o;
int r = element.compareTo(ae.element);
if (r == 0)
{
r = (new Integer(index)).compareTo(new Integer(ae.index));
}
return (r);
}
}[/B]
static
public
void
sort(
Object[] objects
)
{
if (objects == null)
{
throw (new IllegalArgumentException());
}
[B]Object[] array = new Object[objects.length];[/B]
for (int i = 0; i < objects.length; i++)
{
if (!(objects[i] instanceof Comparable))
{
throw (new IllegalArgumentException());
}
[B]array[i] = new ArrayElement((Comparable) objects[i], i);[/B]
}
sort([B]array[/B], 0, [B]array[/B].length - 1);
[B]for (int i = 0; i < objects.length; i++)
{
objects[i] = ((ArrayElement) array[i]).element;
}[/B]
}
|