棧,利用單向連結清單實作:
public abstract class abstractstack
{
public abstract object pop();
public abstract void push(object obj);
public abstract bool isempty();
public abstract object top();
public abstract void clear();
}
public class stack : abstractstack
private slist list;
public stack()
{
list = new slist();
}
public override bool isempty()
return list.isempty();
public override void push(object obj)
list.push(obj);
public override object pop()
return list.pop();
public override object top()
return list.gettail();
public override void clear()
list.clear();
public interface queue
bool isempty();
void enqueue(object obj);
object dequeue();
object first();
public class listqueue:queue
private linkedlist list;
public listqueue()
list = new linkedlist();
public bool isempty()
public void enqueue(object obj)
public object dequeue()
return list.shift();
public object first()
return list.gethead();
文章轉自莊周夢蝶 ,原文釋出時間5.17