English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 예제에서는 Java에서 버블 정렬 알고리즘을 수행하는 방법을 배우겠습니다.
Java에서 버블 정렬 알고리즘을 배우기 전에, 버블 정렬 알고리즘의 작동 원리를 이해해야 합니다.
//클래스 가져오기 import java.util.Arrays; import java.util.Scanner; class Main { //scanner 객체를 생성합니다。 //사용자 입력을 받습니다 Scanner input = new Scanner(System.in); //버블 정렬을 수행하는 메서드 void bubbleSort(int array[]) { int size = array.length; //오름차순 또는 내림차순 정렬에 사용 System.out.println("정렬 순서 선택:"); System.out.println("1오름차순을 나타냅니다\n2내림차순을 나타냅니다 int sortOrder = input.nextInt(); //루프를 두 번 실행 //첫 번째 루프는 배열의 각 요소를 방문 for (int i = 0; i < size - 1; i++) //두 번째 루프는 각 반복에서 비교를 수행 for (int j = 0; j < size - i - 1; j++) //배열을 오름차순으로 정렬 if (sortOrder == 1]) { //연속 요소 비교 if (array[j] > array[j + 1]) { // 좌측 요소가 우측 요소보다 크면 교환 int temp = array[j]; array[j] = array[j + 1]; array[j + 1]=temp; } } //배열을 내림차순으로 정렬 else { // 연속 요소 비교 if (array[j] < array[j + 1]) { //좌측 요소가 우측 요소보다 작으면 교환 int temp = array[j]; array[j] = array[j + 1]; array[j + 1]=temp; } } } //main 메서드 public static void main(String args[]) { //배열을 생성합니다 int[] data = { -2, 45, 0, 11, -9 }; //Main 클래스의 객체를 생성합니다 Main bs = new Main(); //bs 객체를 사용하여 메서드 bubbleSort 호출 //배열을 메서드 매개 변수로 전달합니다 bs.bubbleSort(data); System.out.println("오름차순으로 정렬된 배열:"); //Arrays 클래스의 toString()을 호출합니다 //데이터를 문자열로 변환합니다 System.out.println(Arrays.toString(data)); } }
출력 1
정렬 순서 선택: 1 오름차순을 나타냅니다 2 내림차순을 나타냅니다 1 정렬된 배열: [-9, -2, 0, 11, 45]
이 경우 우리는 입력합니다 1。따라서 프로그램은 배열을 오름차순으로 정렬합니다。
출력 2
정렬 순서 선택: 1 오름차순을 나타냅니다 2 내림차순을 나타냅니다 2 정렬된 배열: [45, 11, 0, -2, -9]
이 경우 우리는 입력합니다 2 。따라서 프로그램은 배열을 내림차순으로 정렬합니다。
주의:저희는 이미 사용했습니다.Java 스캐너 클래스사용자에서 입력을 가져옵니다.