Ubgrade 16.1.2023
parent
dfbc01fc9b
commit
f470c248c7
|
@ -1,71 +0,0 @@
|
||||||
|
|
||||||
/**
|
|
||||||
* Beschreiben Sie hier die Klasse List.
|
|
||||||
*
|
|
||||||
* @author (Ihr Name)
|
|
||||||
* @version (eine Versionsnummer oder ein Datum)
|
|
||||||
*/
|
|
||||||
public class LinkedList2<T>
|
|
||||||
{
|
|
||||||
public List<T> first;
|
|
||||||
|
|
||||||
public LinkedList2(){}
|
|
||||||
public void einfuegen (T neu) {
|
|
||||||
List<T> n = new List<T>(neu);//Neue Node mit Zahl "neu " anlegen
|
|
||||||
|
|
||||||
//Überprüfe ob die liste leer ist
|
|
||||||
if(first == null){
|
|
||||||
//setze neue node als erster Eintrag
|
|
||||||
first = n;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
List<T> current = first;
|
|
||||||
|
|
||||||
while(current.next != null){
|
|
||||||
current = current.next;
|
|
||||||
}
|
|
||||||
current.setNext(n);
|
|
||||||
}
|
|
||||||
|
|
||||||
//current ist jetzt der letzte Eintrag
|
|
||||||
//setze neue Node als Nachfolger von bisher letztem Eintrag
|
|
||||||
}
|
|
||||||
public boolean isEmpty(){
|
|
||||||
if (first == null){
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int laenge(){
|
|
||||||
List current = first;
|
|
||||||
int laenge = 0;
|
|
||||||
while(current != null){
|
|
||||||
current = current.next;
|
|
||||||
laenge++;
|
|
||||||
}
|
|
||||||
return laenge;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public T getNteZahl(int n){
|
|
||||||
List<T> current = first;
|
|
||||||
for(int i = 0; i<n; i++){
|
|
||||||
current = current.next;
|
|
||||||
}
|
|
||||||
return current.zahl;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void loesche(int n){
|
|
||||||
List<T> current = first;
|
|
||||||
|
|
||||||
//gehe an den Vorgänger des zu löschenden Eintrags
|
|
||||||
for(int i=0; i<n-1; i++){
|
|
||||||
current = current.next;
|
|
||||||
}
|
|
||||||
//setze Übernächsten Eintrag als Nachfolger
|
|
||||||
current.next = current.next.next;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
80
List.java
80
List.java
|
@ -7,19 +7,81 @@
|
||||||
*/
|
*/
|
||||||
public class List<T>
|
public class List<T>
|
||||||
{
|
{
|
||||||
|
public Node<T> first;
|
||||||
|
public List(){
|
||||||
|
}
|
||||||
|
|
||||||
public T zahl;
|
public void einfuegen (T neu) {
|
||||||
|
Node<T> n = new Node<T>(neu);//Neue Node mit Zahl "neu " anlegen
|
||||||
|
|
||||||
public List next;
|
//Überprüfe ob die liste leer ist
|
||||||
|
if(first == null){
|
||||||
|
//setze neue node als erster Eintrag
|
||||||
|
first = n;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Node<T> current = first;
|
||||||
|
|
||||||
public List(T g){
|
while(current.next != null){
|
||||||
zahl = g;
|
current = current.next;
|
||||||
}
|
}
|
||||||
public void setNext(List h){
|
current.setNext(n);
|
||||||
next = h;
|
}
|
||||||
|
|
||||||
|
//current ist jetzt der letzte Eintrag
|
||||||
}
|
//setze neue Node als Nachfolger von bisher letztem Eintrag
|
||||||
|
}
|
||||||
|
|
||||||
|
public int laenge(){
|
||||||
|
Node current = first;
|
||||||
|
int laenge = 0;
|
||||||
|
while(current != null){
|
||||||
|
current = current.next;
|
||||||
|
laenge++;
|
||||||
|
}
|
||||||
|
return laenge;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public T getNteZahl(int n){
|
||||||
|
Node<T> current = first;
|
||||||
|
for(int i = 0; i<n; i++){
|
||||||
|
current = current.next;
|
||||||
|
}
|
||||||
|
return current.zahl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void loesche(int n){
|
||||||
|
Node<T> current = first;
|
||||||
|
|
||||||
|
//gehe an den Vorgänger des zu löschenden Eintrags
|
||||||
|
for(int i=0; i<n-1; i++){
|
||||||
|
current = current.next;
|
||||||
|
}
|
||||||
|
//setze Übernächsten Eintrag als Nachfolger
|
||||||
|
current.next = current.next.next;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void hinzufügen(int n, T wert){
|
||||||
|
|
||||||
|
Node<T> neu = new Node<T>(wert);
|
||||||
|
if(n==0){
|
||||||
|
//setze Nachfolger auf bisherigen Stand
|
||||||
|
neu.setNext(first);
|
||||||
|
//setze neuen Start auf neuen
|
||||||
|
first = neu;
|
||||||
|
}else{
|
||||||
|
Node<T> current = first;
|
||||||
|
//gehe an den Vorgänger des zu löschenden Eintrags
|
||||||
|
for(int i=0; i<n-1; i++){
|
||||||
|
current = current.next;
|
||||||
|
}
|
||||||
|
//setze Übernächsten Eintrag als Nachfolger
|
||||||
|
current.next = current.next.next;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ public class Node<T>
|
||||||
|
|
||||||
public T zahl;
|
public T zahl;
|
||||||
|
|
||||||
public Node next;
|
public Node<T> next;
|
||||||
|
|
||||||
public Node(T z){
|
public Node(T z){
|
||||||
zahl = z;
|
zahl = z;
|
||||||
|
|
28
test.java
28
test.java
|
@ -11,7 +11,7 @@ public class test
|
||||||
Node<String> test = new Node<String>("Hallo");
|
Node<String> test = new Node<String>("Hallo");
|
||||||
Node<Integer> test2 = new Node<Integer>(5);
|
Node<Integer> test2 = new Node<Integer>(5);
|
||||||
|
|
||||||
LinkedList liste = new LinkedList();
|
List liste = new List<String>();
|
||||||
liste.einfuegen(5);
|
liste.einfuegen(5);
|
||||||
liste.einfuegen(6);
|
liste.einfuegen(6);
|
||||||
liste.einfuegen(8);
|
liste.einfuegen(8);
|
||||||
|
@ -19,7 +19,7 @@ public class test
|
||||||
liste.einfuegen(7);
|
liste.einfuegen(7);
|
||||||
liste.einfuegen(9);
|
liste.einfuegen(9);
|
||||||
liste.loesche(2);
|
liste.loesche(2);
|
||||||
liste.hinzufügen(8,"wirklich");
|
liste.hinzufügen(4,"wirklich");
|
||||||
Node current = liste.first;
|
Node current = liste.first;
|
||||||
|
|
||||||
while(current != null){
|
while(current != null){
|
||||||
|
@ -32,29 +32,5 @@ public class test
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
public static void test2(){
|
|
||||||
List<String> test = new List<String>("Hallo");
|
|
||||||
List<Integer> test2 = new List<Integer>(5);
|
|
||||||
|
|
||||||
LinkedList2 liste = new LinkedList2();
|
|
||||||
liste.einfuegen(5);
|
|
||||||
liste.einfuegen(6);
|
|
||||||
liste.einfuegen(8);
|
|
||||||
liste.einfuegen(3);
|
|
||||||
liste.einfuegen(7);
|
|
||||||
liste.einfuegen(9);
|
|
||||||
liste.loesche(2);
|
|
||||||
|
|
||||||
List current = liste.first;
|
|
||||||
|
|
||||||
while(current != null){
|
|
||||||
System.out.println( current.zahl );
|
|
||||||
current = current.next;
|
|
||||||
}
|
|
||||||
|
|
||||||
System.out.println("Die Liste hat "+liste.laenge()+" Einträge. ");
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue