본문내용
퀵소트 소스의 일부분이에요~
import java.io.*;
import java.util.*;
class QuickSort {
String dbname="";
int dbsize=0;
int order=0;
long time=0;
public int partition(double[] a,int l,int r){
int i=l-1;
int j=r;
double pivot=a[r];
if(order==0){
for(;;){
while(a[++i] ;
while(i<--j&&pivot ;
if(i>=j) break;
swap(a,i,j);
}
}
if(order==1){
for(;;){
while(a[++i]>pivot)
;
while(i<--j&&pivot>a[j])
;
if(i>=j) break;
swap(a,i,j);
}
}
swap(a,i,r);
return i;
}
public void swap(double[] a,int i,int j){
double temp=a[i];
a[i]=a[j];
a[j]=temp;
}
public void qsort(double[] a,int l,int r){
if(l>=r) return;
swap(a,l,r); //배열의 첫번째 요소를 추축으로 만듦
int v=partition(a,l,r);
qsort(a,l,v-1);
qsort(a,v+1,r);
}
import java.io.*;
import java.util.*;
class QuickSort {
String dbname="";
int dbsize=0;
int order=0;
long time=0;
public int partition(double[] a,int l,int r){
int i=l-1;
int j=r;
double pivot=a[r];
if(order==0){
for(;;){
while(a[++i] ;
while(i<--j&&pivot ;
if(i>=j) break;
swap(a,i,j);
}
}
if(order==1){
for(;;){
while(a[++i]>pivot)
;
while(i<--j&&pivot>a[j])
;
if(i>=j) break;
swap(a,i,j);
}
}
swap(a,i,r);
return i;
}
public void swap(double[] a,int i,int j){
double temp=a[i];
a[i]=a[j];
a[j]=temp;
}
public void qsort(double[] a,int l,int r){
if(l>=r) return;
swap(a,l,r); //배열의 첫번째 요소를 추축으로 만듦
int v=partition(a,l,r);
qsort(a,l,v-1);
qsort(a,v+1,r);
}
소개글