본문 바로가기
자료구조

버블 정렬(bubbleSort)

by zkzk7290 2024. 8. 27.
반응형
정렬 알고리즘: 컴퓨터 순서를 정렬하는 규칙 

 

버블 정렬 (bubble Sort): 앞에서부터 두 개씩 바로 자기 옆에 있는 애랑 필요에서  작은 값을 앞으로 큰 값을 뒤로
바꾸면서 배열에 끝까지 반복해서 정렬하는 방법이다.

버블 정렬의 시간의 복잡도 =O(n*n)

버블 정렬 사진

코드로 버블 정렬 구현 

//import java.util.Arrays;이거는  정말로 유영하게 쓰인다!!!
 
import java.util.Arrays;
import java.util.Iterator;

public class try01 {
	public static void main(String[] args) {
// 정렬 알고리즘은 컴퓨터 순서를 정렬하는 규칙  
//	버블 정렬 : 앞에서 부터 두개씩  바로 자기옆에 있는 애랑 필요에서 
//	작은 값을 앞으로 큰값을 뒤로 바꾸면서 배열에 끝까지 반복해서 정렬하는 방법이다 
//시간의 복잡도 o(n*n) - n*n제곱이다 
	int arr[] = {1,3,4,5,6,7,8,9,10};
	//클래스를 이용하여 버블 정렬  만들기
	bubbleSort(arr);
    //Arrays.tostring은 배열을 출력하기 위한 메서드 
	System.out.println(Arrays.toString(arr));
	
	}
	static void swap(int a[],int i , int j) {// 매개변수 하나는 배열 나머지 변수 
		//두개의 변수의값을 서로 바꾸고 싶으면 변수 새개로 만들어서  서로 담고 넣고 해야한다 .
		int temp = a[i];
		a[i] =a[j];
		a[j] =temp;
	}
	static void bubbleSort(int a[] ){
		for(int i =0; i<a.length;i++) {
        //j+1로 설정 해야 자기자신 ,자기자식 바로 뒤에 있는 숫자 비교
			for(int j =i+1; j<a.length; j++) {
				//j=0으로 설정하면 비교 가 안됨
				if(a[i]> a[j]) {
					swap(a, i, j);
				}
			}
	}
	
	}
}

 

마무리 - 정렬 중에서 가장 쉬운 버블정렬입니다. 버블 정렬은 클래스를 이용하지 말고 한번 구현해 보세요 꼭 그리고 그다음  쉬운 정렬 도 한번  도전해 보세요

https://www.youtube.com/watch?v=YbsQiiubO74

 

 

반응형

'자료구조' 카테고리의 다른 글

스택(Stack)  (0) 2024.08.19
Queue(큐)  (0) 2024.08.17
CollectionFrameWork - ArrayList, Linked list  (0) 2024.08.05
배열(Array)  (0) 2024.07.22