그러나 일부 정렬 알고리즘에서는 정렬되는 요소보다 많거나 동일한 공간이 프로그램에 필요합니다. 동일하거나 더 많은 공간을 사용하는 정렬을 장소 내 정렬이 아닌 정렬이라고 합니다. 병합 정렬은 내부 정렬이 아닌 예제입니다. 정렬2 – 반복기 없이 기본 배열정렬. 이 관용구는 세 단계 후 장식 정렬 – 정렬 해제라고합니다 : 이러한 기능을 사용하면 위의 예제가 더 간단하고 빨라집니다 : 정렬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 예제 코드 // 저작권(c) 1997 ObjectSpace, Inc. import com.objectspace.jgl.*; 가져오기 com.objectspace.jgl.algorithms.*; 가져오기 com.objectspace.jgl.조건자.*; /** * 컨테이너의 통과 순서를 변경합니다.
* @see com.objectspace.jgl.algorithms.sorting * @version 1.0 * @author ObjectSpace, Inc. * 공용 클래스 정렬3 { 공용 정적 보이드 메인 (String[] args) { 해시셋 = 새로운 해시세트 () s.add (“오스틴”); s.add (“텍사스”); s.add (“텍사스”); s.add (“싸움”); s.add (“싸움”) s.add(“Bevo”); 기본 순서 System.out.print (“일반: “”로 표시) 표시; 인쇄.println (s.begin(), s.end() ); 정렬된 System.out.print(“이하: “)를 표시합니다. 범위 r = 정렬.iterSort(s, 새 LessString() ); 인쇄.println (r.begin, r.end); Show 는 System.out.print(“더 큰: “)를 정렬한 다른 방식으로 정렬됨을 표시합니다. r = 정렬.iterSort (s, 새로운 그레이터 스트링() ); 인쇄.println (r.begin, r.end); iterSort()가 컨테이너 System.out.print(“정상: “”)를 정렬하지 않는다는 것을 보여 준다. 인쇄.println (s.begin(), s.end() ); } 정렬2 예제 코드 // 저작권(c) 1996,1997 ObjectSpace, Inc. import com.objectspace.jgl.adapters.*; 가져오기 com.objectspace.jgl.algorithms.*; 가져오기 자바.util.Vector; /** * 반복기 없이 기본 배열정렬.