//////
Search
🍒

[1013] 버블정렬, java로 csv 읽고 sql 파일쓰기

생성일
2022/11/10 07:58
태그
TodayILearn
java
생성일 1

정렬

정상희

i) 정렬 연습

첫번째 바퀴
배열의 첫번째 index와 그 다음 index들과의 비교열차를 돌 것이며, 오름차순으로 정렬합니다.
끝났을 때 가장 작은 숫자가 0번 자리에 옵니다.
Java
복사
두번째 바퀴
배열의 두 번째 index와 그 다음 index들과 비교하며, 더 작은 숫자가 존재할 경우 두 값을 바꿉니다.
끝났을 때 두번째로 작은 숫자가 1번 자리에 옵니다.
Java
복사
실습 코드
import java.util.Arrays; public class sortPractice { public void sort(int[] arr){ for(int i = 0; i<arr.length; i++ ){ System.out.print("현재 index["+i+"]를 비교합니다."); System.out.println("arr["+i+"]="+arr[i]); for(int j = i+1; j<arr.length; j++){ System.out.println("arr["+j+"]="+arr[j]); if(arr[i] > arr[j]) { int temp = 0; temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; System.out.println("swap"+Arrays.toString(arr)); } } } } public static void main(String[] args) { sortPractice s = new sortPractice(); int[] arr = new int[]{2, 7, 3, 9 , 28, 11}; s.sort(arr); } }
Java
복사

ii) 버블 정렬

버블 정렬은 이웃한 데이터들의 크고 작음을 비교한 뒤, 정렬 조건에 맞추어 이동 시키며 정렬하는 알고리즘입니다.
최대 값이 서서히 뒤로 옮겨지는 모습이 마치 사이다의 거품이 올라가는 모습과 비슷하다는 뜻에서 버블 정렬이라고 불립니다.
시간 복잡도 O(N^2) - 매우 느립니다
실습 코드
import java.util.Arrays; public class bubbleSort { public void sort(int[] arr) { for (int i = 0; i < arr.length-1; i++) { System.out.println((i+1)+"바퀴"); for (int j = 0; j < arr.length-1; j++) { // arr[j+1]과 비교할 것이므로, 길이 n-1 System.out.printf("현재 index[" + j + "]와 index["+(j+1)+"]를 비교합니다.\n"); if (arr[j] > arr[j+1]) { // 다음 index의 값이 더 작으면 swap int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } System.out.println("버블 정렬 과정" + Arrays.toString(arr)); } } } public static void main(String[] args) { bubbleSort s = new bubbleSort(); int[] arr = new int[]{2, 7, 3, 9, 28, 11}; s.sort(arr); } }
Java
복사