Hallo zusammen!
Ich habe ein Array von Objekten. Wie kann ich dieses Array am schnellsten Sortieren? Sortiert wird nach einer Variable die sich im Objekt befindet.
Besten dank für alle!
Kann ich hier quicksort einsetzen??
Folgender Code scheint nicht richtig zu klappen und dauert viel zu lange wenn er mal durchläuft.
Ich habe ein Array von Objekten. Wie kann ich dieses Array am schnellsten Sortieren? Sortiert wird nach einer Variable die sich im Objekt befindet.
Besten dank für alle!
Kann ich hier quicksort einsetzen??
Folgender Code scheint nicht richtig zu klappen und dauert viel zu lange wenn er mal durchläuft.
Code:
/*
* QuickSorter.java
*
* Created on 19. September 2007, 09:34
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package universal;
import EDA_LN.dataobject;
//Sortier
public class QuickSorter2
{
private Object[] a;
private int n;
public void sort(Object[] a)
{
this.a=a;
n=a.length;
quicksort(0, n-1);
}
public void output()
{
for(int i=0;i<a.length;i++)
System.out.println(((dataobject)a[i]).getmitgliedsnr());
}
private void quicksort (int lo, int hi)
{
int i=lo;
int j=hi;
Object x=a[(lo+hi)/2];
// Aufteilung
while (i<=j)
{
while (Integer.parseInt(((dataobject)a[i]).getmitgliedsnr())<Integer.parseInt(((dataobject)x).getmitgliedsnr())) i++;
while (Integer.parseInt(((dataobject)a[i]).getmitgliedsnr())>Integer.parseInt(((dataobject)x).getmitgliedsnr())) j--;
if (i<=j)
{
exchange(i, j);
i++; j--;
}
}
// Rekursion
if (lo<j) quicksort(lo, j);
if (i<hi) quicksort(i, hi);
}
private void exchange(int i, int j)
{
Object t=a[i];
a[i]=a[j];
a[j]=t;
}
} // end class QuickSorter