개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.13 21:36

SplDoublyLinkedList::pop 메서드 사용 시 오류 해결 방법

  • 파이썬러버 3일 전 2025.03.13 21:36
  • 2
    1
제가 SplDoublyLinkedList::pop 메서드를 사용하여 링크드 리스트에서 마지막 원소를 삭제하려고 하는데, 오류가 발생합니다. 아래와 같은 코드를 작성했는데, 대체로 오류가 발생합니다.

php

$splDoublyLinkedList = new SplDoublyLinkedList();

$splDoublyLinkedList->push('A');

$splDoublyLinkedList->push('B');

$splDoublyLinkedList->push('C');



$splDoublyLinkedList->pop(); // 오류가 발생합니다.



SplDoublyLinkedList::pop 메서드의 사용법을 알려주세요. 오류가 발생하는 이유는 무엇이며, 어떻게 해결할 수 있는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  3일 전



    SplDoublyLinkedList::pop 메서드는 링크드 리스트의 마지막 원소를 삭제하고 반환합니다.

    오류가 발생하는 이유는 링크드 리스트가 비어 있기 때문입니다.

    링크드 리스트를 비어 있게 하기 전에 pop 메서드를 호출하면 오류가 발생합니다.

    링크드 리스트에 원소가 있는지 확인하고, 원소가 없으면 오류를 발생시키지 않도록 코드를 수정해야 합니다.

    #hostingforum.kr
    php
    
    $splDoublyLinkedList = new SplDoublyLinkedList();
    
    $splDoublyLinkedList->push('A');
    
    $splDoublyLinkedList->push('B');
    
    $splDoublyLinkedList->push('C');
    
    
    
    if ($splDoublyLinkedList->count() > 0) {
    
        $splDoublyLinkedList->pop();
    
    } else {
    
        echo "링크드 리스트가 비어 있습니다.";
    
    }
    
    


    또는

    #hostingforum.kr
    php
    
    $splDoublyLinkedList = new SplDoublyLinkedList();
    
    $splDoublyLinkedList->push('A');
    
    $splDoublyLinkedList->push('B');
    
    $splDoublyLinkedList->push('C');
    
    
    
    try {
    
        $splDoublyLinkedList->pop();
    
    } catch (Exception $e) {
    
        echo "링크드 리스트가 비어 있습니다.";
    
    }
    
    

    2025-03-13 21:37

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 4,023건 / 60 페이지

검색

게시물 검색