我试图理解尾部插入(下面的代码(和头部插入之间的区别。这是我们分配下一个节点的顺序吗?
给定:13、15、18、20。
尾部插入:13->15->18->20
头部插件:20->18->15->13?
public class MylinkedList
{
// Initialize head node
private MyNode head;
// Node creation
public void tailInsert(int data)
{
if(head == null)
{
head = new MyNode(data);
return;
}
// While .next of head != null then we set the lastNode to the .next
MyNode lastNode = head;
// Find the last node in the list and set it to lastNode
while(lastNode.next != null)
{
lastNode = lastNode.next;
}
lastNode.next = new MyNode(data);
}
public class MyNode
{
public int data;
public MyNode next;
MyNode(data)
{
this.data = data
this.next = null;
}
}
区别在于名称。
"尾部插入"在列表的尾部插入新对象,因此列表的顺序与添加元素的顺序相同。
"头插入"在列表的头处插入新对象,因此与添加元素的顺序相比,列表的顺序相反。
"头"是列表中"前端"的同义词;"tail"是列表"后端"的同义词。想想一排人在等公共汽车;这通常是插入尾部的情况,至少在人们有礼貌的情况下是这样。线路的负责人先到,然后先上车。