toString why you be so stubborn
This commit is contained in:
parent
643bdc658f
commit
9cc7e1d0df
@ -0,0 +1,16 @@
|
|||||||
|
/*
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||||
|
*/
|
||||||
|
package linkedlist;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author caleb
|
||||||
|
*/
|
||||||
|
public class EmptyListException extends RuntimeException{
|
||||||
|
public EmptyListException() {}
|
||||||
|
public EmptyListException(String msg) {
|
||||||
|
super(msg);
|
||||||
|
}
|
||||||
|
}
|
@ -103,10 +103,13 @@ public class MyList<E> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public E removeAt(int index) {
|
public E removeAt(int index) {
|
||||||
|
if (size() == 0) {
|
||||||
|
throw new EmptyListException("The list is empty.");
|
||||||
|
}
|
||||||
if (index < 0 || index >= size())
|
if (index < 0 || index >= size())
|
||||||
throw new IndexOutOfBoundsException();
|
throw new IndexOutOfBoundsException();
|
||||||
if (size() == 0)
|
if (size() == 0)
|
||||||
throw new RuntimeException("Empty List");
|
throw new EmptyListException("Empty List");
|
||||||
E removedE = null;
|
E removedE = null;
|
||||||
if (index == 0) {
|
if (index == 0) {
|
||||||
// remove the front
|
// remove the front
|
||||||
|
@ -18,6 +18,44 @@ public class DoubleLinkedList<T> {
|
|||||||
Node<T> right;
|
Node<T> right;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public T removeAt(int pos)
|
||||||
|
{
|
||||||
|
if (pos < 0 || pos > size()-1)
|
||||||
|
{
|
||||||
|
throw new IndexOutOfBoundsException();
|
||||||
|
}
|
||||||
|
|
||||||
|
//list is empty
|
||||||
|
if ( size() == 0 )
|
||||||
|
throw new EmptyListException( "The list empty.");
|
||||||
|
//remove at 0
|
||||||
|
if ( pos == 0)
|
||||||
|
{
|
||||||
|
|
||||||
|
if ( size() == 1)
|
||||||
|
head = tail = null;
|
||||||
|
else
|
||||||
|
head = head.right;
|
||||||
|
}
|
||||||
|
else if (pos== size() - 1) { //remove at end
|
||||||
|
tail = tail.left;
|
||||||
|
tail.right = null;
|
||||||
|
}
|
||||||
|
else { //remove in the middle
|
||||||
|
Node<T> p = head;
|
||||||
|
for (int i = 0; i < pos; ++i) {
|
||||||
|
p = p.right;
|
||||||
|
p.left.right = p.right;
|
||||||
|
p.right.left = p.right;
|
||||||
|
p.right.left = p.left;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public void addAt(T t, int pos) {
|
public void addAt(T t, int pos) {
|
||||||
if (pos < 0 || pos > size()) {
|
if (pos < 0 || pos > size()) {
|
||||||
throw new IndexOutOfBoundsException();
|
throw new IndexOutOfBoundsException();
|
||||||
@ -60,15 +98,17 @@ public class DoubleLinkedList<T> {
|
|||||||
String outputString = "DoubleLinkedList{" + "head=" + head + ", tail=" + tail +", size=" + this.size() + "}\n Contents= [";
|
String outputString = "DoubleLinkedList{" + "head=" + head + ", tail=" + tail +", size=" + this.size() + "}\n Contents= [";
|
||||||
Node<T> p = head;
|
Node<T> p = head;
|
||||||
int count = 0;
|
int count = 0;
|
||||||
|
int size = size();
|
||||||
|
System.out.println(size);
|
||||||
while (p != null) {
|
while (p != null) {
|
||||||
outputString += p.t.toString();
|
outputString += p.t.toString();
|
||||||
if (count -1 < size()) {
|
count++;
|
||||||
|
if (count < size) {
|
||||||
outputString += ", ";
|
outputString += ", ";
|
||||||
} else {
|
} else {
|
||||||
outputString += "]";
|
outputString += "]";
|
||||||
}
|
}
|
||||||
p = p.right;
|
p = p.right;
|
||||||
count++;
|
|
||||||
}
|
}
|
||||||
return outputString;
|
return outputString;
|
||||||
}
|
}
|
||||||
@ -82,6 +122,8 @@ public class DoubleLinkedList<T> {
|
|||||||
list.addAt(40, 0);
|
list.addAt(40, 0);
|
||||||
list.addAt(40, 3);
|
list.addAt(40, 3);
|
||||||
list.addAt(25, 3);
|
list.addAt(25, 3);
|
||||||
|
list.removeAt(3);
|
||||||
|
list.removeAt(1);
|
||||||
System.out.println(list);
|
System.out.println(list);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
/*
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||||
|
*/
|
||||||
|
package edu.slcc.asdv.caleb.mp6_calebfontenot;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author caleb
|
||||||
|
*/
|
||||||
|
public class EmptyListException extends RuntimeException{
|
||||||
|
public EmptyListException() {}
|
||||||
|
public EmptyListException(String msg) {
|
||||||
|
super(msg);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user