我必须阅读包含输入文件中的单词的段落。然后创建一个双向链表,其中包含读取的不同单词,其中相同长度的单词按升序排列在同一列表中。
所以我试图创建一个双向链表的数组,我知道如何添加单词但我不能按升序对它们进行排序。(我们必须在添加单词时对单词进行排序,而不是对文本进行排序然后添加。)
int x = max(s);
DoublyLinkedList[] list = new DoublyLinkedList[x];
for (int i = 0; i < list.length; i++) {
list[i] = new DoublyLinkedList();
}
public static void m(DoublyLinkedList[] list, String s) {
String[] s1 = s.split(" ");
for (int i = 0; i < s1.length; i++) {
list[s1[i].length()].addLast(s1[i]);
}
}
public static int max(String s) {
String[] s1 = s.split(" ");
int max = s1[1].length();
for (int i = 0; i < s1.length; i++) {
if (s1[i].length() > max) {
max = s1[i].length();
}
}
return max + 1;
}
答案 0 :(得分:0)
public static void insertAtRightSpot(DoublyLinekdList list, String s){
int i = 0;
boolean inserted = false;
while(i<list.length()){
if(list.get(i).compareTo(s) < 0){
i++;
} else {
list.insertAt(s, i);
inserted = true;
break;
}
}
if (!inserted) list.addLast(s);
}
尝试insertAtRightSpot(list [s1 [i] .length()],s1 [i])而不是list [s1 [i] .length()]。addLast(s1 [i]) 方法搜索第一个元素,该元素不小于要插入的元素,并在
之前插入