2013-06-11 6 views
0

이것은 지금까지 제 코드입니다. 내가 읽고 (unsorted1.txt 및 unsorted2.txt) 제공된 테스트 파일을 정렬 주요 방법quickSort 클래스의 main 메서드를 만듭니다.

public class quickSort extends DLList {  
public static <E extends Comparable <? super E>> void quickSort(DLList<E> element){ 
    sort(element, 0, element.size() - 1); 
} 

public static <E extends Comparable <? super E>> void sort(DLList<E> element, int l, int r) { 
    int i = l; 
    int j = r; 
    E pivot = element.get((l + r)/2), w; 
    do { 
     while (element.get(i).compareTo(pivot)< 0){ 
      ++i; 
     } 
     while (element.get(j).compareTo(pivot)> 0){ 
      --j; 
     } 
     while (i <= j) { 
      w = element.get(i); 
      element.set(i, element.get(j)); 
      element.set(j, w); 
      ++i; 
      --j; 
     } 
    } while (i <= j); 

    if (l < j) { 
     sort(element, l, j); 
    } 

    if (i < r) { 
     sort(element, i, r); 
    } 
} 

    public static void main(String[] args){ 

    } 

내 퀵 구현이 완료되고 그것이 이중 연결리스트에 기반을 구현하는 데 도움이 필요합니다. 텍스트 파일에는 여러 개의 정렬되지 않은 문자가 포함되어 있습니다. 그래서 모든 문자를로드하고 목록에 저장해야합니다. 그게 내가 도움이 필요한 것입니다.

+0

IEnumerable .Sort()를 사용하는 데 문제가 있습니까? –

답변

0

파일 부분을 좀 더 자세히 설명해 주실 수 있습니까?

파일의 데이터 형식은 무엇입니까? 정렬 후 출력 형식이 입력 형식과 동일해야합니까?

퀵소트 구현이 준비되었음을 이해하는 한, 텍스트 파일을 파싱하고 파일을 정렬하여 파일에 다시 써야합니다.

+0

Okie. 이제 필요한 것은 문자 단위로 텍스트 파일을 읽는 것입니다. BufferedReader, http://docs.oracle.com/javase/1.4.2/docs/api/java/io/BufferedReader.html#read()를 사용하십시오. 각 문자가 있으면 링크 된 목록에 하나씩 추가 할 수 있습니다. 마지막으로이 링크 된 목록을 정렬 API에 전달하십시오 – zerocool

+0

이 같은 것을 의미합니까? 공용 클래스 Main { public static void main (String [] args) 예외를 throw합니다. { File file = new File ("test.txt"); StringBuffer 내용 = 새 StringBuffer(); BufferedReader reader = null; 독자 = 새로운 BufferedReader (새 FileReader (파일)); String text = null; while ((text = reader.readLine())! = null) { contents.append (text) .append (System.getProperty ("line.separator"))); } reader.close(); System.out.println (contents.toString()); } } – user2474434

+0

질문이 몇 가지 더 있습니다. 파일의 내용이 아직 명확하지 않습니다. 문자가 거의 없다고 할 때 무슨 뜻입니까? 그것은 단지 단어 (문자열)인가요? "ABCD"또는 다음과 같습니다 : A B C D? 파일을 공유 할 수 있습니까? 정렬 문장은 문자 정렬과 다릅니다. 그리고 두 경우 모두 String이나 Character의 java.util.List (구현은 java.util.LinkedList 또는 java.util.ArrayList가 될 것입니다)를 사용하고 Collections.sort를 호출하는 이유는 무엇입니까? – zerocool

관련 문제