Java 按字母顺序排列的链接列表排序
我试图自行实现一种排序方法,将对象按字母顺序放入自行创建的双链接列表中。但是,如果前几个字母相等,我会在遍历字母的部分收到一个空指针异常。我做错了什么Java 按字母顺序排列的链接列表排序,java,sorting,doubly-linked-list,Java,Sorting,Doubly Linked List,我试图自行实现一种排序方法,将对象按字母顺序放入自行创建的双链接列表中。但是,如果前几个字母相等,我会在遍历字母的部分收到一个空指针异常。我做错了什么 for(int i=0; i<n-1; i++) { for(int j=i+1; j<n; j++) { for(int k = 0; k<current.getName().length() && k<next.getName().length(
for(int i=0; i<n-1; i++) {
for(int j=i+1; j<n; j++) {
for(int k = 0; k<current.getName().length() && k<next.getName().length(); k++) {
int char1 = (int) current.getName().charAt(k);
int char2 = (int) next.getName().charAt(k);
if(char2 > char1) {
temp = current;
current = next;
next = temp;
break;
}
}
next = next.getRight();
}
current = current.getRight();
}
for(int i=0;iIn哪一行有NPE?为什么只检查“char2>char1”,而不检查“char2if(char2>char1){…}
)然后从next和current调用'getRight()',但它们已经交换了?我想你应该首先重构你的算法