LinkedList中用递归的方法把一串数字倒序输出,急,好的追分,谢谢!_百 ...
发布网友
发布时间:2024-04-16 13:15
我来回答
共5个回答
热心网友
时间:2024-04-21 03:01
sort是大小排序,而LinkedList里的顺序是index序,只是倒index序的话
public class LinkedTest {
LinkedList<Integer> list ;
LinkedTest(){
Integer[] arr = {1,2,3,4,5};
list = new LinkedList<Integer>(Arrays.asList(arr));
}
public static void main(String[] args) {
LinkedTest lt = new LinkedTest();
System.out.println(lt.list);
System.out.println(lt.dao());
}
public LinkedList<Integer> dao(){
LinkedList<Integer> returnList = new LinkedList<Integer>();
reverseOrder(returnList,list);
return returnList;
}
public void reverseOrder(LinkedList<Integer> returnList,LinkedList<Integer> changeList){
Integer i = changeList.poll();
if(changeList.size() == 0){
returnList.offer(i);
}else{
reverseOrder(returnList,changeList);
returnList.offer(i);
}
}
}
方法因人而异,递归的话自己写了个方法,如果觉得可以了请采纳
热心网友
时间:2024-04-21 02:59
用sort()方法 之后再从 末尾开始循环输出就行
热心网友
时间:2024-04-21 03:01
为什么要用递归呢?
热心网友
时间:2024-04-21 03:05
楼主用一个数组把linkedlist的值接受了排序Arrays.sort()在输出就行了把。。。
热心网友
时间:2024-04-21 02:59
import java.util.Arrays;
import java.util.Iterator;
import java.util.LinkedList;
public class Test {
LinkedList<Integer> newll = new LinkedList<Integer>();
public static void main(String[] args) {
LinkedList<Integer> ll = new LinkedList<Integer>();
ll.add(1);
ll.add(2);
ll.add(3);
ll.add(4);
ll.add(5);
Test t=new Test();
t.daoIt(ll);
//t.dao(ll);
t.outPrint();
}
/**
* 递归
*
* @param ll
*/
public void dao(LinkedList<Integer> ll) {
newll.add(ll.getLast());
ll.remove(ll.getLast());
if (ll.size() > 0) {
dao(ll);
}
}
/**
* 迭代
*
* @param ll
*/
public void daoIt(LinkedList<Integer> ll) {
Integer[] iger=new Integer[ll.size()];
int index = ll.size();
Iterator<Integer> it = ll.iterator();
while (it.hasNext()) {
index--;
iger[index]=it.next();
}
newll.addAll(Arrays.asList(iger));
}
/**
* 输出新的linkedList
*/
public void outPrint() {
for (Integer i : newll) {
System.out.println(i);
}
}
}