ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Deque
    CS 2023. 1. 16. 18:12
    728x90

    코틀린에서 Deque 사용방법

    1. "import java.util.ArrayDeque" 를 표기한다.

    2. var Deque = ArrayDeque<Int>()

     

    코틀린에서의 Deque 자주 사용할거 같은 함수 정리(필자 기준)

     

    1.값 추가 및 삭제하기

    import java.util.ArrayDeque
    
    fun main(){
        var Deque = ArrayDeque<Int>()
        //정수 앞에서부터 추가하기
        for(i in 1 .. 5){
        	Deque.addFirst(i)
        }
        println("정수 앞에서부터 추가하기: ${Deque}")
        //실행결과 
        //정수 앞에서부터 추가하기: [5, 4, 3, 2, 1]
       	//반대로 하고 싶을 경우는 addLast() 사용
       	
        // 뒤에서부터 삭제하기
        for(i in 1 .. 5){
            Deque.removeLast()
            println("삭제값:${i} ${Deque}")
        }
        // 삭제값:1 [5, 4, 3, 2]
        // 삭제값:2 [5, 4, 3]
        // 삭제값:3 [5, 4]
        // 삭제값:4 [5]
        // 삭제값:5 []
        
        // 반대로 하고 싶을 경우는 removeFirst()를 사용
        
    }

    2. pollFirst() 함수 사용방법

    import java.util.ArrayDeque
    
    fun main(){
       //pollFirst() 함수 알아보기
        var Deque2 = ArrayDeque<Int>()
        for(i in 1 .. 5){
            Deque2.add(i)
        }
        println("Deque2 = ${Deque2}")
        var Deque3 = ArrayDeque<Int>()
        println("Deque3 = ${Deque3}")
        for(i in 1 .. 5){
            Deque3.add(Deque2.pollFirst())
            println("Deque2 = ${Deque2}")
        	println("Deque3 = ${Deque3}")
        }
    }
    //실행결과    
    // Deque2 = [1, 2, 3, 4, 5]
    // Deque3 = []
    
    // Deque2 = [2, 3, 4, 5]
    // Deque3 = [1]
    
    // Deque2 = [3, 4, 5]
    // Deque3 = [1, 2]
    
    // Deque2 = [4, 5]
    // Deque3 = [1, 2, 3]
    
    // Deque2 = [5]
    // Deque3 = [1, 2, 3, 4]
    
    // Deque2 = []
    // Deque3 = [1, 2, 3, 4, 5]
    
    // -> pollFirst() 는 가장 앞에 있는 자료를 넘기면서 자신의 가장 앞에 있던 자료를 삭제함
    // 순서를 반대로 하고싶을때는 pollLast() 사용하면 됨

    3. peekFirst() 사용 방법

    import java.util.ArrayDeque
    
    fun main(){
     //pollFirst()는 삭제를 하지만 삭제하지 않고 그냥 값만 확인하고 싶을때는 peekFirst()를 사용한다.
     //시간 복잡도를 생각했을때 O(1)의 시간 복잡도를 가진다.
        var Deque4 = ArrayDeque<Int>()
            for(i in 1 .. 5){
                Deque4.add(i)
            }
        println("Deque4.peekFirst() = ${Deque4.peekFirst()}")
        
        //실행결과
        //Deque4.peekFirst() = 1
    }

     

    그 외의 함수들을 확인할 수 있는 공식 문서링크

    https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-array-deque/

    'CS' 카테고리의 다른 글

    자료구조 Part2  (2) 2023.10.17
    자료구조 Part1  (0) 2023.10.16
Designed by Tistory.