package study01;

//1. 버블정렬을 이용해서 배열의 오름차순으로 정렬하는 메서드와 내림차순으로 정렬하는 메서드를 만들고 사용해보세요

public class AhnHomework03 {
	public static void bubbleAs(int arr[]) {
		//오름차순
		int temp =0;
		for(int i=0;i<arr.length;i++) {
			for(int j=0;j<arr.length-1;j++) {
			if(arr[j]>arr[j+1]) {
				
				temp=arr[j];
				arr[j] = arr[j+1];
				arr[j+1]=temp;
			}
			}
		}
		System.out.println("버블정렬 오름차순 :");	
		for(int i=0;i<arr.length;i++) {
			
			System.out.print(arr[i]+" ");
		}
	}
	public static void bubbleDs(int arr[]) {
		//내림차순
		int temp =0;
		for(int i=0;i<arr.length;i++) {
			for(int j=0;j<arr.length-1;j++) {
			if(arr[j]<arr[j+1]) {
				
				temp=arr[j];
				arr[j] = arr[j+1];
				arr[j+1]=temp;
			}
			}
		}
		System.out.println("버블정렬 내림차순 :");	
		for(int i=0;i<arr.length;i++) {
			
			System.out.print(arr[i]+" ");
		}
	}

	public static void main(String[] args) {

		int arr[] = {5, 1, 7, 2, 9, 10};
		bubbleAs(arr);
		System.out.println();
		bubbleDs(arr);						
	}
}

 

 

 

package edu.exam03.bubblesort;

import java.util.Arrays;

public class BubbleSort {
	
	public static void swap(int[] arr, int idx0, int idx1) {
		int temp = arr[idx0];
		arr[idx0]= arr[idx1];
		arr[idx1]= temp;
		
	}
	public static void bubbleSort(int[] arr, int o) {	//int o 는 내림차순/오름차순 정렬을 위해
		//배열 길이 -1 만큼만 공간확정을 하면된다.
		int len = arr.length-1;
		for(int i =0;i<arr.length-1;i++) {
			for(int j=0;j<len;j++) {
				if(o*arr[j] > o*arr[j+1]) {
					swap(arr, j, j+1);
				}
			}
			len--;			
		}		
	}	
	public static void main(String[] args) {
		int[] arr = {99,10,22,53,29,55,12};
		
		System.out.println(Arrays.toString(arr));
		bubbleSort(arr, 1);		//오름차순
		System.out.println(Arrays.toString(arr));
		bubbleSort(arr, -1);	//내림차순
		System.out.println(Arrays.toString(arr));
	}
}

'etc.. > 2' 카테고리의 다른 글

링크드 리스트 in java  (0) 2020.01.16
피보나치 수열 재귀 예제  (0) 2020.01.15
200114_별출력  (0) 2020.01.14
200113_2진탐색 알고리즘_이진탐색_이진검색  (0) 2020.01.13

+ Recent posts