【发布时间】:2020-09-09 23:57:43
【问题描述】:
我正在尝试编写一个插入排序方法,该方法接受一个整数列表,并使用 ListIterator 按升序对其进行排序。我尝试在我的主要方法上运行该方法以查看它是否有效,但是我最终遇到了一堆错误。我想知道我犯了哪些错误以及您将如何编写代码。 方法如下:
public static void insertionsort(LinkedList<Integer> arr){
ListIterator<Integer> it = arr.listIterator();
while(it.hasNext()){
while(it.hasPrevious()){
Integer curr = it.next();
it.previous();
Integer prev = it.previous();
if(curr<prev){
it.set(curr);
it.next();
it.next();
it.set(prev);
}
}
it.next();
}
}
这里是主要方法:
public static void main(String[] args){
LinkedList<Integer> a = new LinkedList<Integer>();
a.add(40);
a.add(30);
a.add(20);
a.add(10);
a.add(5);
insertionsort(a);
ListIterator<Integer> i = a.listIterator();
while(i.hasNext()){
System.out.println(i.next());
}
}
【问题讨论】:
标签: java list sorting iterator insertion