본문 바로가기

수업 정리

퀵소트(작성중)

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;
	}
}

 

 

테이블 작성 - 샘플데이터 입력

검색 조건, 검색어, 페이지번호, 데이터 개수를 파라미터로 전송하여 데이터를 가져오도록

비밀번호가 아니라면 모두 소문자나 대문자로만 저장