import java.util.Scanner;
//Quick Sort
//기준을 설정(피벗) -> 기준 데이터의 왼쪽에는 작은 데이터, 오른쪽에는 큰 데이터가 오도록 함
//left, right 설정하고 끝에서 이동하면서 확인
//left >= right가 되면 기준값과 자리 이동
//기준의 왼쪽과 오른쪽 데이터를 가지고 다시 sort 진행(재귀)
//데이터의 길이가 0 or 1이 될때까지 반
public class Main {
public static void main(String[] args) {
QuickSort quick = new QuickSort();
int[] arrNum = {32, 19, 11, 31, 14, 37, 5, 21};
int left = 0;
int right = arrNum.length-1;
quick.quickSort(arrNum, left, right);
}
}
import java.util.Arrays;
public class QuickSort {
public int[] quickSort(int[] arrNum, int left, int right) {
int temp = 0;
int pivot = arrNum[left];
int pivotPosition = left;
System.out.println("QuickSort 시작!");
while(left < right) {
if(arrNum[left] <= pivot) {
left +=1;
}
if(arrNum[right] > pivot) {
right -=1;
}
if(arrNum[left] > pivot && arrNum[right] <= pivot) {
temp = arrNum[left];
arrNum[left] = arrNum[right];
arrNum[right] = temp;
}
System.out.println(Arrays.toString(arrNum));
}
temp = arrNum[left];
arrNum[left] = arrNum[pivotPosition];
arrNum[pivotPosition] = temp;
System.out.println(Arrays.toString(arrNum));
quickSort(arrNum, 0, right-1);
quickSort(arrNum, left+1, arrNum.length-1);
return arrNum;
}
}
테이블 작성 - 샘플데이터 입력
검색 조건, 검색어, 페이지번호, 데이터 개수를 파라미터로 전송하여 데이터를 가져오도록
비밀번호가 아니라면 모두 소문자나 대문자로만 저장
'수업 정리' 카테고리의 다른 글
88일차 수업정리(iOS - 자료형) (0) | 2020.08.10 |
---|---|
87일차 수업정리(Android - 오디오 재생, 맵 데이터 읽어오기) (0) | 2020.08.07 |
85~86일차 수업정리(Android - Material Design, (0) | 2020.08.05 |
84일차 수업정리(Android - Fragment, ViewPager, MaterialDesign) (0) | 2020.08.04 |
83일차 수업정리(Android - Activity, App간 통신, 기본앱 연동) (0) | 2020.08.03 |