이 기사에서는 Division 및 Conquer 방법을 기반으로 Java가 구현 한 빠른 분류 알고리즘에 대해 설명합니다. 다음과 같이 참조에 대해 공유하십시오.
패키지 cn.nwsuaf.quick;/*** 무작위로 20 개의 숫자를 생성하고 그들을 신속하게 생성하고 그들을 신속하게 분류** @author liu yonglang*/public class Quick {/*** 교환 함수 {/*** 배열에서 두 숫자의 교환 작업을 구현하기 위해* @param array* @param i* @param j. 스왑 (int [] 배열, int i, int j) {int temp = 배열 [i]; 배열 [i] = 배열 [j]; 배열 [j] = 온도; } / *** Division and Conquer Division Algorithm** @Param Array* 배열 작동* @Param Low* Division에서 모듈 시작 주소* @Param Height* Division의 모듈 종료 주소* @Return Location Subscript 참조 요소* / public static int Quick (int [] array, int low, int height) {// 참조 요소 [아래]; // 피벗보다 작은 첫 번째 요소를 찾으려면 (낮은 <높이) {while (낮은 <높이 && 배열 [높이]> = 피벗) 높이-; // 스왑 후 (낮은 <높이) // 낮은 +1 작동 스왑 (배열, 낮은 ++, 높이)을 실행하면 피벗보다 작은 요소가 발견되었음을 나타냅니다. // 왼쪽에서 오른쪽으로 스캔하여 피벗보다 큰 첫 번째 요소를 찾으려면 (낮은 <높이 && 배열 [low] <= pivot) LOW ++; // 스왑 후 (낮은 <높이) // 인 경우 피벗보다 큰 요소가 발견되었음을 나타냅니다. -1 작동 스왑 (배열, 낮음, 높이-); } // 참조 요소의 최종 위치로 돌아갑니다. } / ** * 빠른 종류의 배열 * * @param 배열 * 작동 할 배열 * @param low * low * @param heigh * / public static void sort (int [] 배열, int 낮음, int 높이) {// 분할 참조 요소 int temp에 해당하는 위치를 기록합니다. // (낮은 <높이) {// 배열 temp = Quick (배열, 낮음, 높이); // 왼쪽 간격 정렬을 재귀 적으로 정렬합니다 (배열, 낮음, 온도 -1); // 올바른 간격 정렬 (배열, 온도 + 1, 높이)을 재귀 적으로 정렬합니다. }} public static void main (String [] args) {int [] array = new int [20]; System.out.println ( "wulin.com 테스트 결과 :"); System.out.print ( "정렬 시퀀스 전 :"); for (int i = 0; i <array.length; i ++) {// 0-99 배열의 20 개의 정수를 무작위로 생성 [i] = (int) (math.random () * 100); System.out.print (배열 [i] + ""); } system.out.print ( "/nsorted sequence :"); 정렬 (배열, 0, array.length -1); for (int i = 0; i <array.length; i ++) system.out.print (array [i]+""); }}실행 결과 :
추신 : 참조를위한 데모 도구는 다음과 같습니다.
온라인 애니메이션 데모 삽입/선택/버블/병합/힐/빠른 정렬 알고리즘 프로세스 도구 :
http://tools.vevb.com/aiddesign/paixu_ys
Java 알고리즘에 대한 자세한 내용은이 사이트에 관심이있는 독자들이 주제를 볼 수 있습니다. "Java 데이터 구조 및 알고리즘 자습서", "Java Operation Dom Node Tips 요약", "Java 파일 및 디렉토리 작동 팁 요약"및 "Java Cache Operation Tips의 요약"을 볼 수 있습니다.
이 기사가 모든 사람의 Java 프로그래밍에 도움이되기를 바랍니다.