๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Java

[Java-๊ธฐ์ดˆ] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‹ค์Šต (๋ฒ„๋ธ”์ •๋ ฌ)

by ์ฝ”๋”ฉํ•˜๋Š” ๋ถ•์–ด 2021. 2. 24.
๋ฐ˜์‘ํ˜•

Q) ๋ฒ„๋ธ” ์ •๋ ฌ

๋ฒ„๋ธ” ์ •๋ ฌ์€ ์ œ์ผ ํฐ ์ˆซ์ž๋ถ€ํ„ฐ ๋’ค๋กœ ๋ณด๋‚ด๋ฉด์„œ ์ •๋ ฌํ•œ๋‹ค(๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์ •๋ ฌ ๋ฐฉ๋ฒ•)

์•ž์—์„œ๋ถ€ํ„ฐ ๋‘๊ฐœ์”ฉ ๋น„๊ตํ•ด๊ฐ€๋ฉด์„œ ์ œ์ผ ํฐ ๊ฐ’์„ ๋’ค๋กœ ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•.

๋ฐ์ดํ„ฐ์˜ ์ด๋™ ํšŸ์ˆ˜๋Š” ์„ ํƒ ์ •๋ ฌ๋ณด๋‹ค ๋งŽ์Œ.

โ€‹

โ€‹

์ €๋ฒˆ ์„ ํƒ์ •๋ ฌ์—์„œ ์กฐ๊ธˆ๋งŒ ๊ณ ์น˜๋ฉด ๋จ

โ€‹

 

BubbleSort.java

package algorithm;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class BubbleSort {
	public static void main(String[] args) throws IOException {
		BufferedReader inbr = new BufferedReader(new InputStreamReader(System.in));
		int a = 0;
		int num; // ๋‘ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜

		// ๋ฐฐ์—ด ์ž…๋ ฅ ๋ถ€๋ถ„
		System.out.print("๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š” : ");
		a = Integer.parseInt(inbr.readLine());
		int[] arr = new int[a]; // { 5 10 44 12 50 }

		// ๋ฐฐ์—ด ํฌ๊ธฐ ๊ฐ’ ์ž…๋ ฅํ•˜๊ธฐ
		System.out.println("๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋งŒํผ ๊ฐ’์„ ์ž…๋ ฅํ•˜์„ธ์š”.");
		for (int i = 0; i < arr.length; i++) {
			System.out.print((i + 1) + "๋ฒˆ์งธ ๊ฐ’ : ");
			arr[i] = Integer.parseInt(inbr.readLine());
		}

		// ์ž…๋ ฅ๋œ ๊ฐ’ ์ถœ๋ ฅ
		System.out.println("==== ์ž…๋ ฅ๋œ ๊ฐ’ ====");
		for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i] + "\t");
		}

		System.out.println();

		// ๋ฒ„๋ธ” ์ •๋ ฌ
		for (int i = 1; i < arr.length; i++) {
			boolean flag = false;
			for (int j = 0; j < arr.length - 1; j++) {
				if (arr[j] > arr[j + 1]) {
					num = arr[j];
					arr[j] = arr[j + 1];
					arr[j + 1] = num;
					flag = true;
				}
			}
			if (!flag)
				break;
		}

		// ๋ณ€๊ฒฝ๋œ ๊ฐ’ ์ •๋ ฌ
		System.out.println("==== ์ •๋ ฌ๋œ ๊ฐ’ ====");
		for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i] + "\t");
		}
	}
}

<๊ฒฐ๊ณผ๊ฐ’>

-์ฒ˜์Œ์— flag๋ฅผ ์•ˆ๋„ฃ๊ณ  ๊ฒฐ๊ณผ๊ฐ’๋งŒ ๋˜‘๊ฐ™์ด ๋‚˜์˜ค๊ฒŒ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ ์„ ์ƒ๋‹˜๊ป˜์„œ ์˜ค์‹œ๋”๋‹ˆ 'flag๋ฅผ ๋„ฃ์–ด์•ผ์ง€~๊ทธ๊ฒŒํฌ์ธํŠธ์ธ๋ฐ~' ๋ผ๊ณ  ๋ง์”€ํ•˜์‹œ๊ณ  ๊ฐ€์…จ๋‹ค... ์ฒจ ๋“ฃ๋Š”๊ฑธ ๋‹ค์งœ๊ณ ์งœ ๋„ฃ์œผ๋ผ๊ณ ํ•˜์‹œ๋‹ˆ.. ๋‹นํ™ฉ..

-flag์˜ ์šฉ๋„์— ๋Œ€ํ•ด์„œ ๋ชธ์†Œ ๋ฐฐ์šด ์‹ค์Šต์ด์—ˆ๋‹ค.

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€