JAVA 정렬 알고리즘 의 빠 른 정렬
5932 단어 JavaSE
기본 사상:
,
,
,
,
.
알고리즘 소개
1. , key, key=a[0];
2. ,i,j,i = 0;j = a.length -1, i
,j ;
3. key , j , key
a[j], key a[j-1] , key ,
a[0]=key ;
4. key, , , a[0] key
, a[0] key, a[1] key ,
i,a[i]>key, a[i] key
5. , key key ,key ,
key ,
6. key , 1 5,key
, 1 5,
특징:
:
O(n^2)
O(nlonn)
:
:O(logn)
:O(n)
자바 코드 구현
package com.lanou3g;
public class demo04 {
public static void main(String[] args) {
int[] a = {25,1,5,7,3,99,9,6,0,2,14,9,77,12,33};//
sort(a,0,14);// sor , , ,
}
public static void sort(int arr[],int low,int high) {
int l = low; //l
int h = high; //
int key = arr[low]; //key
while (l < h ) { // , key
while(l < h && key <= arr[h]) {
h --; // key
}
if(l < h) { // key a[h]
int temp = arr[h];
arr[h] = arr[l];
arr[l] = temp;
l++; // ,l++, a[l] key, , i+1
}
while(l < h && arr[l] <= key) {
l ++; // key
}
if(l < h) { // , key a[i]
int temp = arr[h];
arr[h] = arr[l];
arr[l] = temp;
h--; //h key, , h 1
}
}
if(l > low) // l==h,a[l]==a[h]==key
sort(arr, low,l-1); // key sort
if(h// key sort
sort(arr, h+1, high);
for(int i = 0;i <= 14;i++) { //
System.out.print(arr[i]+" ");
}
System.out.println();
}
}
결어
,
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WeakHashMap,IdentityHashMap,EnumMap다른 맵 구현 클래스와 달리 WeakHashMap 클래스의 키 대상은 간접적으로 약한 인용의 지시 대상으로 저장되며, 키가 정상적으로 사용되지 않을 때 자동으로 항목을 제거합니다.더 정확히 말하면, 주어진 키에 대한...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.