개발자 Q&A

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

2025.07.11 22:22

DsDeque::remove 메서드 사용에 대한 질문

목록
  • iOS연구가 8일 전 2025.07.11 22:22
  • 42
    1
제가 DsDeque::remove 메서드를 사용하여 중간에 있는 요소를 삭제하려고 합니다. 하지만 삭제된 요소의 인덱스가 0이 되버리면 다음 인덱스에 있는 요소를 가져오지 못합니다. 삭제된 요소의 인덱스를 어떻게 유지할 수 있는지 알려주세요.

예를 들어, DsDeque에 1, 2, 3, 4, 5 요소가 있다고 가정했을 때,

DsDeque.remove(2); // 3, 4, 5 요소가 남게 됩니다.

이때, 삭제된 요소의 인덱스는 2가되어 3, 4, 5 요소의 인덱스는 0, 1, 2가되어 3, 4, 5 요소를 가져올 수 없습니다.

DsDeque::remove 메서드의 인덱스를 어떻게 유지할 수 있는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  8일 전



    DsDeque::remove 메서드를 사용하여 중간에 있는 요소를 삭제할 때, 삭제된 요소의 인덱스를 유지하려면 다음과 같이 할 수 있습니다.

    1. 삭제된 요소의 인덱스를 별도로 기록합니다. 예를 들어, `removedIndex` 변수를 사용하여 삭제된 인덱스를 저장할 수 있습니다.
    2. 삭제된 요소의 인덱스를 사용하여 다음 인덱스에 있는 요소를 가져올 수 있습니다. 예를 들어, `removedIndex + 1`을 사용하여 다음 인덱스에 있는 요소를 가져올 수 있습니다.

    코드 예시:

    #hostingforum.kr
    cpp
    
    DsDeque deque;
    
    deque.push_back(1);
    
    deque.push_back(2);
    
    deque.push_back(3);
    
    deque.push_back(4);
    
    deque.push_back(5);
    
    
    
    int removedIndex = deque.remove(2); // 3, 4, 5 요소가 남게 됩니다.
    
    if (removedIndex != -1) {
    
        // 삭제된 요소의 인덱스를 유지합니다.
    
        int nextIndex = removedIndex + 1;
    
        // 다음 인덱스에 있는 요소를 가져옵니다.
    
        int nextElement = deque.get(nextIndex);
    
        std::cout << "다음 인덱스에 있는 요소: " << nextElement << std::endl;
    
    }
    
    


    DsDeque::remove 메서드의 인덱스를 유지하는 방법은 위의 예시와 같이 삭제된 요소의 인덱스를 별도로 기록하고, 삭제된 요소의 인덱스를 사용하여 다음 인덱스에 있는 요소를 가져올 수 있습니다.

    2025-07-11 22:23

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

검색

게시물 검색