所以我正在为存储整数的Sorted LinkedList编写代码。添加时,整数必须按升序存储。我的Node类代码有两个值和构造函数,这里没有写,因为它们很明显。
tail logfile | grep successful!
RESULT=$?
exit $RESULT
我的部分排序链接列表代码是
public class Node {
int value;
Node next;
}
所以当我测试我的代码并添加数字1,81,63,7,8,9,23时,我的输出是
添加了数据1的节点。添加了带有数据81的节点。 添加了具有数据63的节点。 添加了具有数据7的节点。 添加了具有数据8的节点。 添加了具有数据9的节点。 添加了具有数据23的节点。 1 - > 81 - > 23 END列表计数为7
所以你可以看到,当我尝试显示链表时,它只有1指向81,指向23.所有其他值丢失。 我使用此代码获取输出:
public class SortedList {
Node head;
public int listCount;
public SortedList(){
listCount = 0;
this.head=null;
}
public void add(int num){
Node newNode= new Node(num);
Node temp=head;
if (head==null) {
head=newNode;
listCount++;
System.out.println("Node with data "+num+" was added.");
}
else {
while ((temp.value < num) && (temp.next!=null)) {
temp = temp.next;
}
if (temp.next==null){
temp.next=newNode;
listCount++;
System.out.println("Node with data "+num+" was added.");
}
else {
newNode.next=temp.next.next;
temp.next=newNode;
listCount++;
System.out.println("Node with data "+num+" was added.");
}
}
}
答案 0 :(得分:0)
您的实施中存在两个问题。第一个是导致值丢失。这个问题在于作业 -
import pandas as pd
import numpy as np
a = Signal('name')
b = Signal('name2')
c = Signal('something')
data = {
('A', a): np.arange(2),
('A', b): np.ones(2),
('B', c): np.zeros(2)
}
df = pd.DataFrame(data)
print(df, df['A'], sep='\n\n')
A B
name name2 something
0 0 1.0 0.0
1 1 1.0 0.0
name name2
0 0 1.0
1 1 1.0
将其更改为 -
newNode.next=temp.next.next;
第二个是您的newNode.next=temp.next;
条件检查 -
while
这将破坏已排序的订单。将其更改为 -
(temp.value < num) && (temp.next!=null)
答案 1 :(得分:0)
你在这一行中犯了一个拼写错误:
newNode.next=temp.next.next;
请将其更改为:
newNode.next=temp.next;