Source für Aufgabe 2 eingefügt
This commit is contained in:
parent
b58c50cc54
commit
88e27fad0f
11
pom.xml
11
pom.xml
|
@ -13,8 +13,8 @@
|
|||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<source>8</source>
|
||||
<target>8</target>
|
||||
<source>10</source>
|
||||
<target>10</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
|
@ -37,6 +37,13 @@
|
|||
<version>RELEASE</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains</groupId>
|
||||
<artifactId>annotations</artifactId>
|
||||
<version>13.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,66 @@
|
|||
package xyz.joethei.studium.algodat.praktikum.blatt2;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
public class ArrayList<E> implements List<E> {
|
||||
|
||||
private static final int MAXSIZE = 32;
|
||||
private int size;
|
||||
|
||||
private E[] a;
|
||||
|
||||
ArrayList() {
|
||||
size = 0;
|
||||
a = (E[]) new Object[MAXSIZE];
|
||||
}
|
||||
|
||||
public boolean add(E e) {
|
||||
if (size < MAXSIZE) {
|
||||
a[size] = e;
|
||||
size++;
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public E get(int index) {
|
||||
if (index < 0 || index >= size) {
|
||||
throw new IndexOutOfBoundsException();
|
||||
}
|
||||
|
||||
return a[index];
|
||||
}
|
||||
|
||||
public int size() {
|
||||
return size;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Iterator<E> iterator() {
|
||||
return new Iterator<>() {
|
||||
int next = 0;
|
||||
int current;
|
||||
|
||||
public boolean hasNext() {
|
||||
return next < size;
|
||||
}
|
||||
|
||||
public E next() {
|
||||
current = next;
|
||||
if (next < size) {
|
||||
next++;
|
||||
}
|
||||
return a[current];
|
||||
}
|
||||
|
||||
public void remove() {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,81 @@
|
|||
package xyz.joethei.studium.algodat.praktikum.blatt2;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
public class LinkedList<E> implements List<E> {
|
||||
private class Wrapper {
|
||||
E e;
|
||||
Wrapper succ;
|
||||
|
||||
Wrapper(E e) {
|
||||
this.e = e;
|
||||
succ = null;
|
||||
}
|
||||
}
|
||||
|
||||
private Wrapper first;
|
||||
private Wrapper last;
|
||||
private int size;
|
||||
|
||||
LinkedList() {
|
||||
first = null;
|
||||
last = null;
|
||||
size = 0;
|
||||
}
|
||||
|
||||
public boolean add(E e) {
|
||||
Wrapper w = new Wrapper(e);
|
||||
if (size == 0) {
|
||||
first = w;
|
||||
last = w;
|
||||
} else {
|
||||
last.succ = w;
|
||||
last = w;
|
||||
}
|
||||
size++;
|
||||
return true;
|
||||
}
|
||||
|
||||
public E get(int index) {
|
||||
Wrapper wRun;
|
||||
if (index < 0 || index >= size) {
|
||||
throw new IndexOutOfBoundsException();
|
||||
}
|
||||
wRun = this.first;
|
||||
for (int iRun = 0; iRun < index; iRun++) {
|
||||
wRun = wRun.succ;
|
||||
}
|
||||
return wRun.e;
|
||||
}
|
||||
|
||||
public int size() {
|
||||
return size;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Iterator<E> iterator() {
|
||||
return new Iterator<>() {
|
||||
Wrapper next = first;
|
||||
Wrapper current;
|
||||
|
||||
public boolean hasNext() {
|
||||
return next != null;
|
||||
}
|
||||
|
||||
public E next() {
|
||||
current = next;
|
||||
if (next != null) {
|
||||
next = next.succ;
|
||||
}
|
||||
return current.e;
|
||||
}
|
||||
|
||||
public void remove() {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
package xyz.joethei.studium.algodat.praktikum.blatt2;
|
||||
|
||||
|
||||
public interface List<E> extends Iterable<E>{
|
||||
boolean add(E e);
|
||||
E get(int index);
|
||||
int size();
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
package xyz.joethei.studium.algodat.praktikum.blatt2;
|
||||
|
||||
public class Main {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
int n = 10;
|
||||
if (args.length > 0) {
|
||||
n = Integer.parseInt(args[0]);
|
||||
}
|
||||
|
||||
List<Integer> aList = new LinkedList<>();
|
||||
|
||||
for (int i = 1; i <= n; i++) {
|
||||
aList.add(i * i);
|
||||
}
|
||||
|
||||
/* Ausgabe der Integer-LinkedList aList */
|
||||
System.out.println("--- Integer-LinkedList aList ---");
|
||||
for (int i = 0; i < aList.size(); i++) {
|
||||
System.out.print(aList.get(i) + " ");
|
||||
}
|
||||
System.out.println("\n");
|
||||
|
||||
List<String> bList = new LinkedList<>();
|
||||
|
||||
for (int i = 1; i <= n; i++) {
|
||||
bList.add(i + "<EFBFBD> = " + i * i);
|
||||
}
|
||||
|
||||
/* Ausgabe der String-LinkedList bList */
|
||||
System.out.println("--- String-LinkedList bList ---");
|
||||
for (String aBList : bList) {
|
||||
System.out.print(aBList + " ");
|
||||
}
|
||||
System.out.println("\n");
|
||||
|
||||
List<Integer> cList = new ArrayList<>();
|
||||
|
||||
for (int i = 1; i <= n; i++) {
|
||||
cList.add(i * i);
|
||||
}
|
||||
|
||||
/* Ausgabe der Integer-ArrayList cList */
|
||||
System.out.println("--- Integer-ArrayList cList ---");
|
||||
for (int i = 0; i < cList.size(); i++) {
|
||||
System.out.print(cList.get(i) + " ");
|
||||
}
|
||||
System.out.println("\n");
|
||||
|
||||
List<String> dList = new ArrayList<>();
|
||||
|
||||
for (int i = 1; i <= n; i++) {
|
||||
dList.add(i + "<EFBFBD> = " + i * i);
|
||||
}
|
||||
|
||||
/* Ausgabe der String-ArrayList dList */
|
||||
System.out.println("--- String-ArrayList dList ---");
|
||||
for (String aDList : dList) {
|
||||
System.out.print(aDList + " ");
|
||||
}
|
||||
System.out.println("\n");
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue