如何按升序添加不同的元素假设我的列表中已经存在5个不同的元素,并且我想在现有列表中添加新值
void add(int e) {
Node nNode = new Node();
nNode.element = e;
nNode.next = null;
if (head == null) {
head = nNode;
} else {
Node tNode = head;
while (tNode.next != null && head.element>e) {
head=nNode;
nNode.next=tNode;
tNode = tNode.next;
}
tNode.next = nNode;
}
这是一个与java相关的问题,我尝试了很长时间,但它对我不起作用。我现在已经更改了算法,但它仍然有问题——它只对列表最后一个元素的三个元素进行排序——它工作不正常——我想按的升序排序
您没有创建新的Node()来插入节点。让我们试试下面的代码。
void aAsc(int e)
{
Node node = new Node();
node.element = e;
if(start==null)
{
start = node;
}
Node p=start;
while(p.next!=null){
if(p.next.element>e) {
node.next = p.next;
p.next = node;
break;
}
p=p.next;
}
}