sorting 예제

레코드는 숫자 또는 상숫자로 정렬됩니다. 그런 다음 레코드는 키의 숫자 값에 따라 오름차순 또는 내림차순으로 정렬됩니다. 다음은 수업의 특정 과목에서 학생이 얻은 마크 목록의 정렬입니다. 클래스가 compareTo() 및 equals() 메서드보다 비교 가능한 인터페이스를 구현하는 경우 x.compareTo(y)==0인 경우 x.equals(y)=true가 되는 의미에서 상관 관계가 있어야 함을 인식하는 것이 중요합니다. 기본 equals() 메서드는 참조 번호를 기준으로 두 개체를 비교하므로 위의 코드 예제에서 값이 같은 두 카드는 같지 않습니다. 그리고 마지막 코멘트, equals() 메서드가 hashCode() 메서드보다 재정의되는 경우 다음과 같은 적절한 유지 를 유지하려면 다음의 적절한 순서를 유지해야합니다: x.equals(y)==true인 경우 x.hashCode()=y.hashCode(=y.hashCode().. 알고리즘의 안정성은 튜플과 같이 원래 요소의 시퀀스를 유지하려는 경우 중요합니다. 연속 된 요소가 이전 요소보다 큰 경우 값 의 시퀀스는 증가 순서라고합니다. 예를 들어, 1, 3, 4, 6, 8, 9는 모든 다음 요소가 이전 요소보다 크므로 순서가 증가합니다.

정렬은 특정 순서 기준에 따라 테이블 또는 목록의 레코드를 순서대로 정렬하기 위해 수행되는 작업입니다. 정렬은 각 레코드의 일부 키 값에 따라 수행됩니다. 모든 종류의 데이터로 작업할 때 몇 가지 표준 정렬 응용 프로그램이 있습니다. 이러한 응용 프로그램 중 하나는 데이터 패턴에서 이상을 찾기 위해 데이터를 정렬하는 프로세스인 데이터 정리입니다. 예를 들어 월별 판매 데이터를 월별으로 정렬하여 판매량의 차이를 찾을 수 있습니다. 정렬은 개체 목록을 정렬하는 것입니다. 두 가지 유형의 정렬을 구분할 수 있습니다. 개체 수가 주 메모리에 들어갈 만큼 작으면 정렬을 내부 정렬이라고 합니다.

개체 수가 너무 커서 정렬 중에 일부 개체가 외부 저장소에 상주하는 경우 외부 정렬이라고 합니다. 이 장에서는 다음과 같은 내부 정렬 알고리즘 정렬1 예제 코드 // 저작권(c) 1996,1997 ObjectSpace, Inc. import com.objectspace.jgl.*; 가져오기 com.objectspace.jgl.adapters.*; 가져오기 com.objectspace.jgl.algorithms.*; 가져오기 com.objectspace.jgl.조건자.*; 가져오기 자바.util.Vector; /** * 벡터, java.util.Vector 및 원시의 네이티브 배열 정렬. * @see com.objectspace.jgl.algorithms.sorting * @version 3.0.0 * @author ObjectSpace, Inc. * / 공용 클래스 정렬1 { 공용 정적 보이드 메인 (String[] args) { System.out.println („정수 배열 정렬“); 배열 배열 = 새 배열(); array.add (새 정수 (7) ); array.add (새 정수 (10) ); array.add (새 정수 (3) ); array.add (새 정수 (-4) ) ; System.out.println(„정렬되지 않은 = “ + 배열); 정렬.sort(배열); System.out.println(„오름차순 = “ + 배열); 정렬.sort(배열, 새 GreaterNumber() ); System.out.println(„내림차순 = “ + 배열); System.out.println(); System.out.println(„문자열의 java.util.Vector 정렬“); 벡터 = 새 벡터(); vector.addElement („개“); vector.addElement(„원숭이“); vector.addElement(„여우“); vector.addElement(„박쥐“); 벡터배열 벡터배열 = 새로운 벡터어레이레이치(벡터); System.out.println(„정렬되지 않은 = “ + 벡터Array); 정렬.sort(벡터배열, 새 LessString() ); System.out.println(„오름차순 = “ + 벡터배열); System.out.println(); System.out.println(„기본 적인 ints 배열 정렬“); int ints[] = { 3, 6, 1, 2, 9, 8, 1, 8 }; IntArray intArray = 새 IntArray(ints); System.out.println(„정렬되지 않은 = “ + intArray); 정렬.sort(intArray, 새 그레이터넘버()); System.out.println(„내림차순 = “ + intArray); 전달이터 시작 = intArray.start(); 투과자 마감 = intArray.finish(); start.advance(3); 정렬.정렬(시작, 완료); System.out.println(„부분적으로 오름차순 = “ + intArray); } } 정렬3 – 컨테이너의 통과 순서를 변경합니다.