InsertElementInArrayAt

Bei Postings zu Aufgabe Nr. x = 1..4 lassen Sie Ihr Betreff bitte mit "x: " beginnen, gefolgt von einer möglichst präzisen Überschrift, danke!

Moderator: Algorithmen und Datenstrukturen

Forumsregeln
Bei Postings zu Aufgabe Nr. x = 1..4 lassen Sie Ihr Betreff bitte mit "x: " beginnen, gefolgt von einer möglichst präzisen Überschrift, danke!
skyhopper
Neuling
Neuling
Beiträge: 1
Registriert: 28. Apr 2017 12:30

InsertElementInArrayAt

Beitrag von skyhopper » 21. Jun 2017 09:02

Zu meinem Code schlagen drei Tests fehl:

1. equalKeys_at_last_index_insert: Was genau wird hier getestet? Worauf soll man bei der Implementierung achten?

2. complexity_Test_insertElementInArray: Wieso liegt mein Code nicht in der Komplexitätsklasse O(n)? Die Elemente des Arrays werden in jeder Fallunterscheidung doch nur einmal aufgerufen und es liegen keine verschachtelten Schleifen vor.

3. insert_as_last_element: Wieso kann dieser Fall nicht in der zweiten if-Abfrage korrekt bearbeitet werden? Die zweite for-Schleife müsste doch in diesem Fall direkt abbrechen und darauf das Element durch resultExtend[pos]=element korrekt eingefügt werden.

Code: Alles auswählen

public Listobject<T>[] executeInsertElementInArray(Listobject<T> element, int pos)
{if (getArray()[pos] == null){
    Listobject<T>[] resultDirect = new Listobject<>[getArray().length];
    resultDirect = getArray();
    resultDirect[pos] = element;
    setArray(resultDirect);
}
else if (pos<=getArray().length){
    Listobject<T>[] resultExtend = new Listobject<>[getArray().length+1];
    for (int i=0;  i<pos; i++){
        resultExtend[i]=getArray()[i];
    }
    for (int j=pos+1; j<resultExtend.length; j++){
    resultExtend[j] = getArray()[j-1];
    }
    resultExtend[pos] = element;
    setArray(resultExtend);
}
else{	
    Listobject<T>[] resultOut = new Listobject<>[pos];
    for (int k=0; k<getArray().length; k++){
        resultOut[k] = getArray()[k];
    }
    resultOut[pos] = element;
    setArray(resultOut);
}
return getArray();
}
Vielen Dank für Eure Hilfe!

Zurück zu „AuD: Programmieraufgaben“