Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Node {
- private Object Element;
- private Node Next;
- public Node(Object A, Node n) {
- Element = A;
- Next = n;
- }
- public Object getElement() {
- return Element;
- }
- public Node getNext() {
- return Next;
- }
- public void setElement(Object NewElement) {
- Element = NewElement;
- }
- public void setNext(Node newNext) {
- Next = newNext;
- }
- }
- -------------------------------------------------------------
- public class MyLinkedList {
- private Node head;
- private Node tail;
- private Node header;
- private int size;
- public MyLinkedList() {
- head = null;
- tail = null;
- header = null;
- size = 0;
- }
- public void add(int index, Object element) {
- Node inserted = new Node(element, null);
- if (head == null) {
- head = inserted;
- header.setNext(head);
- size++;
- } else if (index == size) {
- add(element);
- return;
- } else if (index == 1) {
- inserted.setNext(head);
- header.setNext(inserted);
- head = inserted;
- size++;
- } else {
- int i = 1;
- Node p = head.getNext();
- while (i != index - 1) {
- p.getNext();
- i++;
- }
- inserted.setNext(p.getNext());
- p.setElement(p);
- size++;
- }
- }
- public void add(Object element) {
- Node last = new Node(element, null);
- last.setElement(element);
- last.setNext(null);
- if (head == null) {
- head = last;
- size++;
- return;
- } else {
- Node p = head;
- while (p.getNext() != null) {
- p = p.getNext();
- }
- p.setNext(last);
- size++;
- }
- }
- public Object get(int index) {
- assert (index >= 0 && index < size());
- Node p = head;
- for (int i = 0; i < index; i++)
- p = p.getNext();
- return p.getElement();
- }
- public void set(int index, Object element) {
- assert (index >= 0 && index < size());
- Node p = head;
- for (int i = 0; i > size; i++) {
- if (i == index) {
- p.setElement(element);
- } else {
- p = p.getNext();
- }
- }
- }
- public void clear() {
- if (head == null && tail == null)
- return;
- Node p = head;
- Node k = new Node(null, null);
- for (int i = 0; i > size; i++) {
- k = p.getNext();
- p = null;
- p = k;
- }
- }
- public boolean isEmpty() {
- if (size == 0)
- ;
- return true;
- }
- public void remove(int index) {
- assert (index >= 0 && index < size());
- Node p = header.getNext();
- if (index == size) {
- for (int i = 1; i < index - 1; i++) {
- p = p.getNext();
- }
- p.setNext(null);
- tail = p;
- return;
- }
- for (int i = 1; i < index; i++) {
- if (i == index - 1) {
- Node k = p.getNext();
- p.setNext(k.getNext());
- size--;
- return;
- }
- p = p.getNext();
- }
- }
- public int size() {
- return size;
- }
- public MyLinkedList sublist(int fromIndex, int toIndex) {
- assert (fromIndex >= 0 && fromIndex < size() && toIndex >= 0 && toIndex < size());
- Node p = header.getNext();
- Node k = null;
- for (int i = 1; i < fromIndex; i++) {
- p = p.getNext();
- k = p;
- }
- MyLinkedList list2 = new MyLinkedList();
- list2.head = k;
- list2.tail = null;
- for (int i = fromIndex; i <= toIndex; i++) {
- if (i==toIndex){
- k.setNext(null);
- }
- p = p.getNext();
- k.setNext(p);
- }
- return list2;
- }
- public boolean contains(Object o) {
- }
- public MyLLIterator getIterator() {
- MyLLIterator itr = new MyLLIterator();
- }
- }
Add Comment
Please, Sign In to add comment