Итак, приложение считывает из внешнего файла кучу строк, каждая в отдельной строке.
Например:
and cake here
Она не расположена в каком-либо определенном порядке. Мне нужно прочитать эти буквы, поместить их в связанный список и, наконец, отсортировать их.
Мне нужна помощь в этом:
Вот текущий код:
import java.util.*;
import java.io.*;
public class LinkedList
{
static File dataInpt;
static Scanner inFile;
public static void main(String[] args) throws IOException
{
dataInpt=new File("C:\\lldata.txt");
inFile=new Scanner(dataInpt);
Node first = insertInOrder();
printList(first);
}
public static Node getNode(Object element)
{
Node temp=new Node();
temp.value=element;
temp.next=null;
return temp;
}
public static void printList(Node head)
{
Node ptr; //not pointing anywhere
for(ptr=head;ptr!=null;ptr=ptr.next)
System.out.println(ptr.value);
System.out.println();
}
public static Node insertInOrder()
{
Node first=getNode(inFile.next());
Node current=first,previous=null;
Node last=first;
int count=0;
while (inFile.hasNext())
{
if (previous!=null
&& ((String)current.value).compareTo((String)previous.value) > 0)
{
last.next=previous;
previous=last;
}
if (previous!=null
&& ((String)current.value).compareTo((String)previous.value) < 0)
{
current.next=last;
last=current;
}
previous=current;
current=getNode(inFile.next());
}
return last;
}
}
Но это дает бесконечный цикл с "Cat".
Вот файл данных:
Lol Cake Gel Hi Gee Age Rage Tim Where And Kite Jam Nickel Cat Ran Jug Here