Aritalab:Lecture/Programming/Java/Graph/LinkedList
From Metabolomics.JP
< Aritalab:Lecture | Programming | Java | Graph
二重リンクリストの構造のみ
class LinkedList
{
protected ListEntry listHead = null;
protected ListEntry listTail = null;
protected int listSize = 0;
protected LinkedList()
{}
protected void remove(ListEntry x)
{
ListEntry x_succ = x.succ;
ListEntry x_pred = x.pred;
if (x_succ != null)
{
x_succ.pred = x_pred;
x.succ = null;
}
else
listTail = x_pred;
if (x_pred != null)
{
x_pred.succ = x_succ;
x.pred = null;
}
else
listHead = x_succ;
listSize--;
}
public ListEntry head()
{
return listHead;
}
public ListEntry tail()
{
return listTail;
}
public ListEntry Pred(ListEntry e)
{
return e.pred;
}
public ListEntry Succ(ListEntry e)
{
return e.succ;
}
public void clear()
{
listHead = null;
listTail = null;
listSize = 0;
}
public int size()
{
return listSize;
}
public boolean empty()
{
return (listSize == 0) ? true : false;
}
}