好吧,我必須從我放入的訂單中打印出一個鏈表。每個節點引用一個票據對象,並且票據對象具有我可以調用的自己的打印功能。我可以刪除列表的開頭,並將其引用到下一張票,但將其編碼,以便打印出最新到最舊的票。我認爲,問題出在我的代碼,讓我一票添加到列表:如何將代碼添加到鏈接列表中,以便您可以從最舊的項目打印到最新的項目?
private class TicketNode
{ //basic node
public TicketNode next;
public Ticket data;
public TicketNode(Ticket tic)
{
data = tic;
}
}
public void PrintAll()
{//Prints all tickets
TicketNode cur = first;
while (cur != null)
{
cur.data.PrintDescription();
cur = cur.next;
}
}
public void AddTicket(Ticket t)
{
TicketNode ticNode; //creates a new node
if (first == null) //for kick-starting the list
first = new TicketNode(t);
else
{
ticNode = new TicketNode(t); //initializes node
ticNode.next = first;
first = ticNode; //first.next is the ticket that was ticNode
}
}
恩:我把在串票「低」,「另一種低」,以及「最終低」和當我要打印出來我想到:
低 另一個低 最終低
相反,我得到: 最終低 另一個低 低
如果我要刪除到最老的(「低」),我應該看到類似下次打印: 另一個低 最終低
有關如何重新定位列表的任何想法?