C++에서 벡터를 지우는 방법은 무엇입니까?

3854 단어 oopprogrammingcpp
벡터는 동적 배열과 매우 유사하지만 요소가 삽입되거나 삭제될 때마다 자동으로 크기가 조정되는 기능이 있습니다. 저장소는 컨테이너에서 자동으로 처리됩니다.

이 기사에서 우리는 C++에서 벡터를 지우는 다양한 방법, 접근 방식 및 프로그램 자체에 대해 논의할 것입니다.


제목: "C++에서 벡터를 지우는 방법?"
태그: cpp

canonical_url: https://kodlogs.com/blog/643/how-to-clear-a-vector-in-c


행동 양식



C++에서 벡터를 지우는 두 가지 방법이 있습니다.
  • vector::clear() 사용
  • 벡터::지우기()

  • 그러나 이 두 가지 방법을 사용하는 방법에 대해 깊이 논의하기 전에 언제 무엇을 사용해야 할까요?

    분명한()

    clear() 함수는 벡터 컨테이너에서 모든 요소를 ​​제거하여 벡터의 크기를 0으로 만듭니다. 그리고 요소를 제거하는 모든 작업은 clear() 함수에 의해 수행됩니다.

    삭제()

    컨테이너 또는 특정 범위의 요소에서 특정 요소를 제거하려면 지우기() 함수를 사용할 수 있으며, 벡터의 크기를 줄이는 방법은 지우기()에 관한 모든 것입니다.

    vector::clear() 사용



    이제 우리는 clear() 함수가 벡터의 모든 요소를 ​​지우거나 제거하고 벡터의 크기를 0으로 줄이는 데 사용된다는 것을 알고 있습니다. clear() 사용 구문은 다음과 같습니다.
    vectorname.clear()
    Parameters :
    No parameters are passed.
    Result :
    All the elements of the vector are
    removed ( or destroyed )
    예시
    `
    입력: myvector= {1, 2, 3, 4, 5};
    myvector.clear();
    출력: myvector= {}

    입력: myvector= {};
    myvector.clear();
    출력: myvector= {}
    `
    참고: vector::clear()는 매개변수가 전달될 때마다 오류를 표시합니다. 예를 들어

    // CPP program to illustrate 
    // Implementation of clear() function 
    #include <iostream> 
    #include <vector> 
    using namespace std; 
    
    int main() 
    { 
        vector<int> myvector; 
        myvector.push_back(1); 
        myvector.push_back(2); 
        myvector.push_back(3); 
        myvector.push_back(4); 
        myvector.push_back(5); 
    
        // Vector becomes 1, 2, 3, 4, 5 
    
        myvector.clear(); 
        // vector becomes empty 
    
        // Printing the vector 
        for (auto it = myvector.begin(); it != myvector.end(); ++it) 
            cout << ' ' << *it; 
        return 0; 
    }
    


    산출

    출력 없음

    vector::erase() 사용



    특정 요소나 요소의 특정 범위를 제거하려면 vector::erase() 함수를 사용해야 하며 erase()를 사용하는 구문은 다음과 같습니다.
    `
  • vectorname.erase(위치)
  • vectorname.erase(시작 위치, 끝 위치)
    매개변수:
    iterator 형식으로 제거할 요소의 위치입니다.
    또는 시작 및 종료 반복기를 사용하여 지정된 범위입니다.
    결과 :
    지정된 요소에서 요소가 제거됩니다.
    컨테이너의 위치. **Example** 입력 : myvector= {1, 2, 3, 4, 5}, 반복자= 2
    myvector.erase(반복자);
    출력 : 1, 2, 4, 5

  • 입력 : myvector= {1, 2, 3, 4, 5, 6, 7, 8}, iterator1= 3, iterator2= 6
    myvector.erase(반복자1, 반복자2);
    `
    출력 : 1, 2, 3, 7, 8
    참고: 유일한 예외는 요소를 제거하기 위해 유효한 위치를 사용해야 한다는 것입니다. 그렇지 않으면 정의되지 않은 동작을 보여줍니다.

    ###프로그램들

    ♦ Removing the element from the particular position
    // CPP program to illustrate 
    // working of erase() function 
    #include <iostream> 
    #include <vector> 
    using namespace std; 
    
    int main() 
    { 
        vector<int> myvector{ 1, 2, 3, 4, 5 }; 
        vector<int>::iterator it; 
    
        it = myvector.begin(); 
        myvector.erase(it); 
    
        // Printing the Vector 
        for (auto it = myvector.begin(); it != myvector.end(); ++it) 
            cout << ' ' << *it; 
        return 0; 
    } 
    


    산출
    2 3 4 5
    ♦ ###특정 범위 내 요소 제거

    // CPP program to illustrate 
    // Implementation of erase() function 
    #include <iostream> 
    #include <vector> 
    using namespace std; 
    
    int main() 
    { 
        vector<int> myvector{ 1, 2, 3, 4, 5 }; 
        vector<int>::iterator it1, it2; 
    
        it1 = myvector.begin(); 
        it2 = myvector.end(); 
        it2--; 
        it2--; 
    
        myvector.erase(it1, it2); 
    
        // Printing the Vector 
        for (auto it = myvector.begin(); it != myvector.end(); ++it) 
            cout << ' ' << *it; 
        return 0; 
    } 
    


    산출

    4 5

    좋은 웹페이지 즐겨찾기