Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Iterator;
- public class SimpleLinkedList <ELEMENT extends Comparable> implements Iterable<ELEMENT> {
- private Node<ELEMENT> head;
- private int count;
- private Node<ELEMENT> tail;
- public void addFirst(ELEMENT data)
- {
- Node<ELEMENT> temp = new Node<ELEMENT>(data, this.head);
- if(this.count++ == 0) this.tail = temp;
- this.head = temp;
- }
- public void addLast(ELEMENT data)
- {
- Node<ELEMENT> temp = new Node<ELEMENT>(data,null);
- if(this.count++ == 0)
- {
- this.head = temp;
- }
- else this.tail.next = temp;
- this.tail = temp;
- }
- public void addSort(ELEMENT data)
- {
- if(this.count == 0) addFirst(data);
- else if(data.compareTo(this.head.item) < 0) addFirst(data);
- else if(data.compareTo(this.tail.item) > 0) addLast(data);
- else
- {
- SimpleLinkedListIterator<ELEMENT> begin = new SimpleLinkedListIterator<ELEMENT>(this.head);
- while(begin.hasNext() && data.compareTo(begin.next()) > 0);
- Node<ELEMENT> next = begin.nextNode();
- Node<ELEMENT> temp = new Node<ELEMENT>(data, next);
- next.next = temp;
- }
- }
- @Override
- public Iterator<ELEMENT> iterator() {
- // TODO Auto-generated method stub
- return new SimpleLinkedListIterator<ELEMENT>(this.head);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement