Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * CSE 205: <11333> T-TH 4:30-5:45
- * Assignment <Assignment02>
- * Papa Demba Diack ASU ID 1216303829 and Abdullah Mahfuz ASU ID 1217109439
- * Description: MyLinkedList.java
- */
- import java.util.NoSuchElementException;
- public class MyLinkedList implements MyList {
- private Node head = null;
- private int size = 0;
- @Override
- public void add(Object o) {
- Node newNode = new Node();
- newNode.data = 0;
- if ( head == null)
- head= newNode;
- else {
- Node curr = head;
- while(curr.next != null)
- curr = curr.next;
- curr.next = newNode;
- }
- size++;
- }
- @Override
- public void insert(int index, Object o)
- {
- if (index < 0 || index > size)
- throw new NoSuchElementException();
- Node newNode = new Node();
- newNode.data = 0;
- if(index == 0) {
- Node temp = head;
- head = newNode;
- head.next= temp;
- }
- else {
- Node curr = head;
- for (int i = 0; i<index -1;i++)
- curr = curr.next;
- Node after = curr.next;
- curr.next = newNode;
- newNode.next = after;
- }
- size++;
- }
- @Override
- public void remove(int index) {
- if (index < 0 || index>= size)
- throw new NoSuchElementException();
- if (index == 0)
- head = head.next;
- else {
- Node curr = head;
- for (int i = 0; i<index-1;i++)
- curr = curr.next;
- curr.next = curr.next.next;
- }
- size--;
- }
- @Override
- public Object get(int index) {
- if (index < 0 || index > size)
- throw new NoSuchElementException();
- Node curr = head;
- for ( int i = 0; i<index; i++) {
- curr = curr.next;
- }
- return curr.data;
- }
- @Override
- public int size() {
- return this.size;
- }
- // Do not alter the code below
- public MyListIterator getIterator() {
- return new MyLinkedListIterator();
- }
- private class MyLinkedListIterator implements MyListIterator {
- Node currentNode = null;
- @Override
- public Object next() {
- if (currentNode != null)
- currentNode = currentNode.next;
- else
- currentNode = head;
- return currentNode.data;
- }
- @Override
- public boolean hasNext() {
- if (currentNode != null)
- return currentNode.next != null;
- else
- return head != null;
- }
- }
- class Node {
- public Object data = null;
- public Node next = null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement