자바 알고리즘

☕️ [JAVA] 삽입 정렬

King of Silicon Valley 2021. 10. 12. 15:34
728x90

자바로 삽입 정렬을 구현해 보았습니다. 

 

삽입 정렬에 대한 설명은 다른 블로그글에 자세히 설명한 것이 많으므로 제가 참고용으로 보려고 코드만 올려둡니다. 

 

import java.util.ArrayList;
import java.util.Collections;

public class InsertionSort {
    static ArrayList<Integer> sort(ArrayList<Integer> list){
        for (int i=0;i<list.size()-1;i++){
            for (int index=i+1;index>0;index--){
                if (list.get(index) < list.get(index-1)){
                    Collections.swap(list, index,index-1);
                }
                else {
                    break;
                }
            }
        }
        return list;
    } //방법 1
    
    static int[] insertionSort(int[] arr){
        for (int index=1; index<arr.length;index++){
            int temp = arr[index];
            int prev = index -1;
            while((prev >=0)&& (arr[prev]>temp)){
                arr[prev+1] = arr[prev];
                prev--;
            }
            arr[prev+1] = temp;
        }
        return arr;
    } //방법 2

    public static void main(String[] args) {
        ArrayList<Integer> testList = new ArrayList<Integer>();
        for (int i=0;i<100;i++) {
            testList.add((int)(Math.random() * 100));
        }
        System.out.println(sort(testList));
    }
}

'자바 알고리즘' 카테고리의 다른 글

☕️ [JAVA] 병합 정렬  (0) 2021.10.14
☕️ [JAVA] 버블 정렬  (0) 2021.10.12
☕️ [JAVA] 선택 정렬  (0) 2021.10.12