Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public Object remove(int index) {
- Object removedObject = null;
- //first node
- if(index == 0) {
- DoubleListNode currentNode = head;
- removedObject = currentNode.element;
- head = currentNode.next;
- }
- //last node
- else if(index == size-1){
- DoubleListNode currentNode = tail;
- removedObject = currentNode.element;
- tail = currentNode.previous;
- }
- //first half
- else if(index < size/2){
- DoubleListNode currentNode = head;
- for(int i = 0; i < index - 1; i++){
- currentNode = currentNode.next;
- }
- removedObject = currentNode.next.element;
- currentNode.next.next.previous = currentNode.previous.previous;
- currentNode.next = currentNode.next.next;
- // currentNode.next.next.previous = currentNode.previous.previous;
- }
- //second half
- else if(index > size/2){
- DoubleListNode currentNode = tail;
- for(int i=0; i<size-index-1; i++){
- currentNode = currentNode.previous;
- }
- removedObject = currentNode.element;
- currentNode.previous = currentNode.previous.previous;
- }
- size--;
- return removedObject;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement