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 |