Hallo,
ich habe ein Problem bei der Implementierung von Selection Sort. Alle folgenden Methoden wurden uns vorgegeben und müssen implementiert werden. Zur Zeit hängt sich der Sortier-Algorithmus anscheinend irgendwo auf (Endlosschleife). Vielleicht kann mir ja jemand helfen, den Fehler zu finden oder eventuell die Methoden zu optimieren! Danke schon mal!
ich habe ein Problem bei der Implementierung von Selection Sort. Alle folgenden Methoden wurden uns vorgegeben und müssen implementiert werden. Zur Zeit hängt sich der Sortier-Algorithmus anscheinend irgendwo auf (Endlosschleife). Vielleicht kann mir ja jemand helfen, den Fehler zu finden oder eventuell die Methoden zu optimieren! Danke schon mal!
Java:
@Override
public List getData() {
return data;
}
@Override
public Object getMax() {
Comparable ob1=null;
Comparable ob2=null;
Object obj1 = data.get(0);
Object obj2;
int ergebnis;
try{
if (comp = false){
for(int i = 1; i < ((Vector) data).capacity(); i++){
ob2 = (Comparable) data.get(i);
ergebnis = ob1.compareTo(ob2);
if (ergebnis == 1){
ob1 = (Comparable) data.get(i);
}
}
}
else if(comp = true){
for(int k = 1; k<((Vector) data).capacity();k++){
obj2 = data.get(k);
if(com.compare(obj1,obj2)== -1){
obj1 = obj2;
}
}
}
}catch(NullPointerException npe){
}
return ob1;
}
@Override
public Object getMin() {
Comparable ob1 = null;
Comparable ob2 = null;
Object obj1 = data.get(0);
Object obj2;
int ergebnis;
try{
if (comp = false){
for(int i = 1; i < ((Vector) data).capacity(); i++){
ob2 = (Comparable) data.get(i);
ergebnis = ob1.compareTo(ob2);
if (ergebnis == -1){
ob1 = (Comparable) data.get(i);
}
}
}else if(comp = true){
for(int k = 1; k<((Vector) data).capacity();k++){
obj2 = data.get(k);
if(com.compare(obj1,obj2)== 1){
obj1 = obj2;
}
}
}
}catch(NullPointerException npe){
}
return ob1;
}
@Override
public <T extends Comparable<T>> void setData(Collection<T> arg0) {
data.addAll(arg0);
}
@Override
public <T> void setData(Collection<T> arg0, Comparator<T> arg1) {
com = arg1;
data.addAll(arg0);
comp = true;
}
@Override
public void sort() {
try{
Object ob;
Vector<Object> vec= new Vector<Object>();
int i=0;
while(((Vector) data).capacity()>0){
ob=getMin();
vec.add(i,ob);
i++;
data.remove(ob);
}
data.addAll(0, vec);
}
catch (IllegalArgumentException iae){
}
}[/Java]