package Practice;
import java.util.Iterator;
public class MyLinkedList implements Iterable
{
Value head;
int currentSize;
public MyLinkedList()
{
head=new Value(null);
currentSize=0;
}
public int getSize()
{
return currentSize;
}
public void add(Object o)
{
Value p=head;
while(p.next != null)
p=p.next;
p.next = new Value(o);
currentSize++;
}
public Object get(int ind)
{
if(ind >= currentSize)
return null;
else
{
Value p =head;
for(int i=0;i<ind;i++)
{
p=p.next;
}
return p.next.o;
}
}
public Object remove(int ind)
{
if(ind >= currentSize)
return null;
else
{
Value p =head;
for(int i=0;i<ind;i++)
{
p=p.next;
}
Object ret=p.next.o;
p.next=p.next.next;
currentSize--;
return ret;
}
}
class MyIterator implements Iterator
{
Value p;
public MyIterator(Value head)
{
this.p=head;
}
public boolean hasNext() {
// TODO Auto-generated method stub
if(p.next==null)
return false;
else
return true;
}
public Object next() {
Object ret=p.next.o;
p=p.next;
return ret;
}
}
public Iterator iterator() {
MyIterator it=new MyIterator(head);
return it;
}
}
class Value
{
public Object o;
public Value next;
public Value(Object o)
{
this.o=o;
next=null;
}
}
练习——LinkedList
最新推荐文章于 2024-07-25 15:51:57 发布