Hallo,
es wäre super, wenn mir jemand bei folgender Aufgabe helfen könnte:
Implementieren Sie die folgende Vektorklasse mittels Generics, d.h.
der Typ für die Elemente wird durch ein Generic Parameter T spezifiziert. Die
Vektorklasse sollte mindestens folgende Methoden besitzen:
• int size() // liefert die Anzahl der Elemente zurück
• void push_back(T arg) // fügt ein neues Element am Ende ein
• void push_front (T arg) // fügt ein neues Element am Anfang ein
• T get(int i) // liefert das i-te Element
• void set(int i, T arg) // setzt das i-te Element auf arg
da ich bisher noch nix mit generics zutun hatte, wäre Hilfe echt nett
es wäre super, wenn mir jemand bei folgender Aufgabe helfen könnte:
Implementieren Sie die folgende Vektorklasse mittels Generics, d.h.
der Typ für die Elemente wird durch ein Generic Parameter T spezifiziert. Die
Vektorklasse sollte mindestens folgende Methoden besitzen:
• int size() // liefert die Anzahl der Elemente zurück
• void push_back(T arg) // fügt ein neues Element am Ende ein
• void push_front (T arg) // fügt ein neues Element am Anfang ein
• T get(int i) // liefert das i-te Element
• void set(int i, T arg) // setzt das i-te Element auf arg
Java:
class MyVector {
private Object[] mObjects;
private final int mIncWidth;
private int mNextFree;
public MyVector(int initialCapacity,int capacityIncrement) {
mIncWidth = capacityIncrement;
mNextFree = 0;
mObjects = new Object[initialCapacity];
}
public MyVector(int initialCapacity) {
this(initialCapacity,0);
}
public MyVector() {
this(1,0);
}
public void addElement(Object obj) {
if (mNextFree >= mObjects.length) {
resize();
}
mObjects[mNextFree++] = obj;
}
private void resize() {
final int newSize = mIncWidth==0
? mObjects.length * 2
: mObjects.length + mIncWidth;
Object[] newObjects = new Object[newSize];
for(int i = 0;i < mObjects.length;++i) {
newObjects[i] = mObjects[i];
}
mObjects = newObjects;
}
}
Java:
import java.lang.*;
class LongTime {
public static void makeALotInsertion(MyVector vec) {
long lStart = System.currentTimeMillis();
for(int i = 0;i < 20000;++i)
vec.addElement(new Integer(i));
long lEnd = System.currentTimeMillis();
System.out.println("Zeit in mSec.: " + (lEnd - lStart));
}
public static void main(String[] args) {
MyVector vec1 = new MyVector(1000,1);
MyVector vec2 = new MyVector(1000,0);
makeALotInsertion(vec1);
makeALotInsertion(vec2);
}
}
da ich bisher noch nix mit generics zutun hatte, wäre Hilfe echt nett
Zuletzt bearbeitet von einem Moderator: