Guten Tag zusammen,
ich wollte mal Fragen weiß nicht ob ich so etwas darf, kann ich hier ein Thema erstellen wo ich sehr gerne ein paar Abstrakte Datentypen besprechen möchte. Ich habe heute damit angefangen sonst müsste ich für jede Frage ein Thema erstellen so hätte man ein Sammlung und vielleicht kommen ja noch andere auf ähnliche Fragen die dann auch geklärt werden können etc.
Heute habe ich eine Lineare Liste erstellt mittels Arrays. Hier mal der Code:
Wir sollten immer ein neues Array zurück geben deswegen so etwas umständlich eine Frage hätte ich zum einfügen. Geht es nicht auch nur mit einer if else Anweisung?
Hab mal in einer Mail es so versucht doch dann fehlt ja immer 1 Wert
Des weiteren würde ich gerne mal wissen wie man so etwas macht damit es für sämtliche "Primitiven" Datenelemente funktioniert. Vielleicht sogar für Referenztypen.
Bitte um Feedback Leider beschäftige ich mich jetzt erst mit den ganzen Algorithmen und Datenstrukturen. Wir hatten ja schon viele Programme geschrieben doch so explizit ist noch nicht drauf eingegangen worden das wird sich im Sommer ändern und ich würde sehr gerne eben etwas vorarbeiten
wie immer mit Lieben Grüßen von ocsme
ich wollte mal Fragen weiß nicht ob ich so etwas darf, kann ich hier ein Thema erstellen wo ich sehr gerne ein paar Abstrakte Datentypen besprechen möchte. Ich habe heute damit angefangen sonst müsste ich für jede Frage ein Thema erstellen so hätte man ein Sammlung und vielleicht kommen ja noch andere auf ähnliche Fragen die dann auch geklärt werden können etc.
Heute habe ich eine Lineare Liste erstellt mittels Arrays. Hier mal der Code:
Java:
package ADTListe;
public class ListeArray {
public static boolean istLeer(int[] l) {
for(int i=0;i<l.length;i++)
if(l[i]!=0)
return false;
return true;
}
public static int[] einfuegen(int x, int p, int[] l) throws ArrayException{
if(p < 0 || p > l.length-1)
throw new ArrayException("Platz existiert nicht!");
int length = l.length;
int[] b = new int[length+1];
if(!istLeer(l)) {
for(int i=0;i<l.length;i++)
if(i < p)
b[i]=l[i];
else if(i == p) {
b[i]=x;
b[i+1]=l[i];
}
else if(i > p)
b[i+1]=l[i];
}
else
b[0]=x;
return b;
}
public static int[] entferne(int p, int[] l) throws ArrayException{
if(p < 0 || p > l.length-1)
throw new ArrayException("Platz existiert nicht!");
int length = l.length-1;
int[] b = new int[length];
for(int i=0;i<b.length;i++)
if(i < p)
b[i]=l[i];
else if(i >= p)
b[i]=l[i+1];
return b;
}
public static int suchen(int x, int[] l) {
for(int i=0;i<l.length;i++)
if(l[i]==x)
return i;
return -1;
}
public static int zugriff(int p, int[] l) throws ArrayException {
if(p < 0 || p > l.length-1)
throw new ArrayException("Platz existiert nicht!");
return l[p];
}
}
Java:
package ADTListe;
public class ArrayException extends Exception{
ArrayException() {
}
ArrayException(String message){
super(message);
}
}
Wir sollten immer ein neues Array zurück geben deswegen so etwas umständlich eine Frage hätte ich zum einfügen. Geht es nicht auch nur mit einer if else Anweisung?
Hab mal in einer Mail es so versucht doch dann fehlt ja immer 1 Wert
Java:
int[] a = new int[10];
for(int i=0;i<a.length;i++)
a[i]=2*i+1;
int[] c = new int[a.length+1];
int platz = 4;
int x = 444;
for(int i=c.length-1;i>0;i--)
if(i!=platz)
c[i]=a[i-1];
else {
c[i]=x;
}
Des weiteren würde ich gerne mal wissen wie man so etwas macht damit es für sämtliche "Primitiven" Datenelemente funktioniert. Vielleicht sogar für Referenztypen.
Bitte um Feedback Leider beschäftige ich mich jetzt erst mit den ganzen Algorithmen und Datenstrukturen. Wir hatten ja schon viele Programme geschrieben doch so explizit ist noch nicht drauf eingegangen worden das wird sich im Sommer ändern und ich würde sehr gerne eben etwas vorarbeiten
wie immer mit Lieben Grüßen von ocsme