Bubble sort

ims·2020년 10월 2일
0

알고리즘

목록 보기
6/23

아이디어

큰 값과 작은 값의 위치를 바꾸어 준다.

pseudo code

input -> array data
output -> sorted data

i <- data.length to 0
 j <- 0 to i-1
   if data[j]>data[j+1]
    swtich data[j] data[j+1]
return data

이 때 2가지 실수를 했었다.
1. pesudo code작성시에 그냥 switch data라고만 적어놔서 data[j]와 data[i]를 바꾸는 실수를 하였다. 뒤에 까지 명확히 적어놔야 헷갈리지 않는다.
2. array bound of exection 오류가 떴었다. j <- 0 to i 라고 했었기 때문. j+1 로 하였기 때문에 i-1로 해야 길이가 맞다.

구현코드

package SortSeries;

public class BubbleSort {
    public static void main(String args[]){
        int data[] = {4,2,1,5,7,9,3,2,3,1,2,1,3,45,89};

        int result[] = bubble(data);
        for(int i : result){
            System.out.print(i + " ");
        }
    }
    static int[] bubble(int data[]){
        int temp;
        for(int i=data.length;i>0;i--){
            for(int j=0;j<i-1;j++){
                if(data[j]>data[j+1]){
                    temp = data[j];
                    data[j] = data[j+1];
                    data[j+1] = temp;
                }
            }
        }
        return data;
    }
}
profile
티스토리로 이사했습니다! https://imsfromseoul.tistory.com/ + https://camel-man-ims.tistory.com/

0개의 댓글