1. 데이터 구조 및 알고리즘 :
1.1. 빠른 정렬 방법을 만듭니다.
public static void quickSort(int[] arr, int left, int right){
int l = left;
int r = right;
int pivot = arr[(left + right) / 2];
while (l < r){
while (arr[l] < pivot){
l += 1;
}
while(arr[r] > pivot){
r -= 1;
}
if(l >= r){
break;
}
int temp = arr[l];
arr[l] = arr[r];
arr[r] = temp;
if(arr[l] == pivot){
r -= 1;
}
if(arr[r] == pivot){
l += 1;
}
}
if(l == r){
l += 1;
r -= 1;
}
if(left < r){
quickSort(arr, left, r);
}
if(right > l){
quickSort(arr, l, right);
}
}
1.2. 주요 방법 :
public static void main(String[] args) {
//随机创建8万 个数据
int arr[]= new int[80000];
for(int i=0; i<arr.length; i++){
arr[i] = (int)(Math.random()*80000);
}
//计算 冒泡排序时间
double start = System.currentTimeMillis();
System.out.println("计时开始:");
quickSort(arr,0 ,arr.length-1);//此处写要测试的代码
double end = System.currentTimeMillis();
System.out.println("计时结束, 共耗时:"+ (double)((end-start)/1000) +"秒");
}
• 2020 년 9 월 10 일 ChiKong_Tam 작성