Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Sonstige Fragen (http://www.informatikerboard.de/board/board.php?boardid=25)
--- addtion einen Wert in die Liste einzufuegen , wie ein neuer Eintrag an bliebiger Stelle in die Liste einfgefuegt wird ? (http://www.informatikerboard.de/board/thread.php?threadid=2678)


Geschrieben von yesa am 08.12.2015 um 23:58:

  addtion einen Wert in die Liste einzufuegen , wie ein neuer Eintrag an bliebiger Stelle in die Liste

Meine Frage:
also die Addition in die Liste ?
2. wie kann ich einen neuen Eintrag an belieberger Stelle in die Liste einfuege und wie viele und welche Refernzen kann ich versetzen
3. wie kann ich die Position finden, an der ich das neue Element einfuegen muss

Meine Ideen:
1.
Item head ;
public Item(E value){
this.value = value;
previous = null;
next = null;
public void add(E value) {
// TODO Auto-generated method stub
Item add = new Item(value);
if(head == null){
head = add;
return;
}
Item onther = head;
while(onther.next != null){
onther=onther.next;
}
onther.next= add;
}

2. einfuegen k = new einfugen(element,null);
if (head == null)
head = k;
else {
k.setzeNachfolger(head);
head=k;
}
}
3. keine Idee



Geschrieben von eulerscheZahl am 10.12.2015 um 07:07:

 

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
public class Item<E extends Comparable<E>> {
	private E value;
	private Item<E> previous;
	private Item<E> next;

	public Item(E value) {
		this.value = value;
		previous = null;
		next = null;
	}

	public void addBefore(Item<E> newItem) {
		newItem.next = this;
		newItem.previous = this.previous;
		if (this.previous != null)
			this.previous.next = newItem;
		this.previous = newItem;
	}

	// append at tail
	public void addAfter(Item<E> newItem) {
		newItem.previous = this;
		this.next = newItem;
	}

	public E getValue() {
		return value;
	}

	public Item<E> getNext() {
		return next;
	}
}

public class MyList<E extends Comparable<E>> {
	private Item<E> head;

	public void add(E value) {
		if (head == null)
			head = new Item<E>(value);
		else {
			Item<E> temp = head;
			Item<E> newItem = new Item<E>(value);
			do {
				if (value.compareTo(temp.getValue()) < 0) {
					temp.addBefore(newItem);
					if (head == temp)
						head = newItem;
					return;
				}
				if (temp.getNext() == null)
					break;
				temp = temp.getNext();
			} while (true);
			temp.addAfter(newItem);
		}
	}

	public void print() {
		Item<E> temp = head;
		while (temp != null) {
			System.out.println(temp.getValue());
			temp = temp.getNext();
		}
	}
}

public class Main {
	public static void main(String[] args) {
		MyList<Integer> list = new MyList<Integer>();
		list.add(5);
		list.add(3);
		list.add(7);
		list.add(4);
		list.print();
	}
}


Forensoftware: Burning Board, entwickelt von WoltLab GmbH