티스토리 뷰

※[JAVA] 버블 정렬(Bubble Sort)


○  주어진 데이터를 버블 정렬 해보기.


public class Test103
{
	public static void main(String[] args)
	{
		int[] a = {52, 42, 12, 62, 60};
		/*
			42, 52, 12, 62, 60	0 1
			======

			42, 12, 52, 62, 60	1 2
				======
			
			42, 12, 52, 62, 60	2 3
			        ======

			42, 12, 52, 60, 62	3 4
						======
			
			--------------------------------1회전
			12, 42, 52, 60, 62	0 1
			======

			12, 42, 52, 60, 62	1 2
			    ======

			12, 42, 52, 60, 62	2 3
					======		
			
			--------------------------------2회전

			12, 42, 52, 60, 62	0 1
			======

			12, 42, 52, 60, 62	1 2
				======				

			--------------------------------3회전

			12, 42, 52, 60, 62	0 1
			======
			
			--------------------------------4회전
		*/
		System.out.print("Source Data : ");
		for(int n:a)
		{
			System.out.print(n+ " ");
		}
		System.out.println();


		for(int i=1;i<a.length;i++)			// 1 2 3 4 
		{
			for(int j=0;j<a.length-i;j++)	// 0~3 0~2 0~1 (0)
			{
				// 01 12 23 34
				// 01 12 23
				// 01 12
				// 01
				if(a[j]>a[j+1])				// 오름차순 정렬
				{
					// 자리 바꾸기
					a[j] = a[j]^a[j+1];
					a[j+1] = a[j+1]^a[j];
					a[j] = a[j]^a[j+1];
				}
			}
		}

		System.out.print("Sorted Data : ");
		for(int n:a)
		{
			System.out.print(n+ " ");
		}
		System.out.println();
	}
}


※실행결과

Source Data : 52 42 12 62 60

Sorted Data : 12 42 52 60 62

계속하려면 아무 키나 누르십시오 . . .



'국비지원Study > Java' 카테고리의 다른 글

[JAVA] Calendar 달력  (0) 2019.03.10
[JAVA] 향상된 버블 정렬(Bubble Sort)  (0) 2019.03.10
[JAVA] 선택정렬(Selection Sort)  (0) 2019.03.10
[JAVA] 주민등록번호 유효성 검사  (0) 2019.03.09
[JAVA] 만년달력  (0) 2019.03.09
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함