Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » aud » Forendiskussionen » testcodezulisten (Übersicht)
no way to compare when less than two revisions
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
— | pruefungen:bachelor:aud:loesungss16:testcodezulisten [22.03.2017 14:47] (aktuell) – angelegt Danplan | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | <code java> | ||
+ | public class Jul16_Listen { | ||
+ | |||
+ | public static void main(String[] args) { | ||
+ | Cursor< | ||
+ | |||
+ | addTest(test," | ||
+ | test.print(); | ||
+ | |||
+ | String t=prviousTest(test, | ||
+ | System.out.println(" | ||
+ | test.print(); | ||
+ | |||
+ | String n=nextTest(test," | ||
+ | System.out.println(" | ||
+ | test.print(); | ||
+ | |||
+ | test.remove(); | ||
+ | test.print(); | ||
+ | } | ||
+ | |||
+ | private static String nextTest(Cursor< | ||
+ | String res=test.next(); | ||
+ | if(res != null){ | ||
+ | org.junit.Assert.assertTrue(res.equals(expect)); | ||
+ | }else if(expect == null){ | ||
+ | org.junit.Assert.assertNull(res); | ||
+ | }else{ | ||
+ | res=" | ||
+ | } | ||
+ | return res; | ||
+ | } | ||
+ | private static String prviousTest(Cursor< | ||
+ | String res=test.previous(); | ||
+ | if(res != null){ | ||
+ | org.junit.Assert.assertTrue(res.equals(expect)); | ||
+ | }else if(expect == null){ | ||
+ | org.junit.Assert.assertNull(res); | ||
+ | }else{ | ||
+ | res=" | ||
+ | } | ||
+ | return res; | ||
+ | } | ||
+ | |||
+ | public static void addTest(Cursor< | ||
+ | for(String v:vals){ | ||
+ | test.add(v); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | private static ListItem createSimple() { | ||
+ | ListItem a=new ListItem(" | ||
+ | ListItem b=new ListItem(" | ||
+ | ListItem c=new ListItem(" | ||
+ | ListItem d=new ListItem(" | ||
+ | ListItem e=new ListItem(" | ||
+ | a.addItem(a, | ||
+ | b.addItem(a, | ||
+ | c.addItem(b, | ||
+ | d.addItem(c, | ||
+ | e.addItem(d, | ||
+ | return a; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | class Cursor< | ||
+ | |||
+ | private class Node { | ||
+ | private E v; // value (payload) | ||
+ | private Node p, n; // previous, next | ||
+ | public String toString(){ | ||
+ | return v+""; | ||
+ | } | ||
+ | } | ||
+ | private Node prev, next; | ||
+ | |||
+ | public void add(E e) { | ||
+ | Node newN = new Node(); // new node becomes next | ||
+ | newN.v = e; | ||
+ | |||
+ | if(next != null){ | ||
+ | next.p=newN; | ||
+ | newN.n=next; | ||
+ | } | ||
+ | |||
+ | if(prev != null){ | ||
+ | prev.n=newN; | ||
+ | newN.p=prev; | ||
+ | } | ||
+ | |||
+ | next=newN; | ||
+ | } | ||
+ | |||
+ | @Override | ||
+ | public E previous() { | ||
+ | // TODO Auto-generated method stub | ||
+ | if(prev != null){ | ||
+ | E vTmp=prev.v; | ||
+ | next=prev; | ||
+ | prev=prev.p; | ||
+ | return vTmp; | ||
+ | } | ||
+ | return null; | ||
+ | } | ||
+ | |||
+ | @Override | ||
+ | public void remove() { | ||
+ | if(next != null){ | ||
+ | next=next.n; | ||
+ | } | ||
+ | |||
+ | } | ||
+ | public String toString(){ | ||
+ | String res=""; | ||
+ | |||
+ | Node cur=this.next; | ||
+ | Node drag=this.prev; | ||
+ | |||
+ | res=res+drag + " | ||
+ | while(cur != drag && cur != null){ | ||
+ | drag=cur; | ||
+ | cur=cur.n; | ||
+ | if(cur == drag){ | ||
+ | res=res+drag + " | ||
+ | }else if(drag.n == null){ | ||
+ | res=res+drag + " | ||
+ | } | ||
+ | else{ | ||
+ | res=res+drag + " | ||
+ | } | ||
+ | } | ||
+ | return res; | ||
+ | } | ||
+ | public void print() { | ||
+ | // TODO Auto-generated method stub | ||
+ | // TODO Auto-generated method stub | ||
+ | System.out.println(" | ||
+ | System.out.println(" | ||
+ | System.out.println(" | ||
+ | System.out.println(" | ||
+ | System.out.println(" | ||
+ | System.out.print(" | ||
+ | System.out.print(this.prev != null?" | ||
+ | System.out.print(" | ||
+ | System.out.println(this.next != null?" | ||
+ | System.out.println(); | ||
+ | System.out.println(this.toString()); | ||
+ | System.out.println(" | ||
+ | System.out.println(); | ||
+ | } | ||
+ | |||
+ | @Override | ||
+ | public boolean hasNext() { | ||
+ | // TODO Auto-generated method stub | ||
+ | return false; | ||
+ | } | ||
+ | |||
+ | @Override | ||
+ | public E next() { | ||
+ | // TODO Auto-generated method stub | ||
+ | if(next != null){ | ||
+ | E vTmp=next.v; | ||
+ | prev=next; | ||
+ | next=next.n; | ||
+ | return vTmp; | ||
+ | } | ||
+ | return null; | ||
+ | } | ||
+ | |||
+ | @Override | ||
+ | public boolean hasPrevious() { | ||
+ | // TODO Auto-generated method stub | ||
+ | return false; | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | @Override | ||
+ | public int nextIndex() { | ||
+ | // TODO Auto-generated method stub | ||
+ | return 0; | ||
+ | } | ||
+ | |||
+ | @Override | ||
+ | public int previousIndex() { | ||
+ | // TODO Auto-generated method stub | ||
+ | return 0; | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | @Override | ||
+ | public void set(E e) { | ||
+ | // TODO Auto-generated method stub | ||
+ | |||
+ | } | ||
+ | } | ||
+ | </ |