찾다
php教程PHP开发벡터의 삭제 작업

벡터의 삭제 작업

Nov 22, 2016 pm 03:24 PM

최근 책을 읽다가 우연히 벡터의 삭제 작업에 대한 세부 사항을 발견했습니다. 이 삭제 작업의 경우 이 삭제 작업에는 두 가지 형식이 있다는 것을 누구나 알고 있습니다. (1) 단일 요소 삭제, 매개변수는 반복자 변수입니다. (2) 간격 요소 삭제, 매개변수는 시작과 끝입니다. 세부정보는 단일 요소가 삭제될 때 발생하는 특정 사항입니다.

예: 다음과 같이 초기화된 벡터가 있습니다. vector va{0,1,2,2,3,4,5}. 벡터에서 동일한 요소를 삭제합니다. 2로!

일반적으로 코드는 다음과 같이 작성됩니다.

#include <vector>
 #include <iostream>

int main() {     std::vector<int> va{ 1,2,3,4,4,5,6 };     std::vector<int> vb(va);     for (auto i = va.begin();i != va.end(); i++)     {         if (*i == 4)         {             i = va.erase(i);         }     }     for (auto i : va) { std::cout << i << "  "; }     return 0; }

얼핏 보면 잘못된 것은 없지만 결과는 예상치 못한 결과입니다

벡터의 삭제 작업

결과가 왜 이런가요? 곰곰이 생각해 보니 삭제에 오류가 있었던 것으로 나타났는데, if 조건이 성립되면 벡터에서 조건에 맞는 요소를 삭제하는 것이 핵심이다. 삭제 작업을 수행하면 반환된 값은 현재 삭제된 반복자의 다음 위치를 나타냅니다. 그런 다음 루프가 다시 반복되면 반복자가 한 위치만큼 뒤로 이동하여 동일한 요소가 삭제됩니다. 삭제되었습니다.

첨부된 철자가 정확합니다:

#include <vector> #include <iostream>

int main() {     std::vector<int> va{ 1,2,3,4,4,5,6 };     std::vector<int> vb(va);     auto iter = vb.begin();     while(iter!=vb.end())     {         if (iter != vb.end())         {             if (*iter == 4)             {                 iter = vb.erase(iter);             }             else 
            { iter++; }         }     }     for (auto j : vb)     {         std::cout << j << "  ";     }     return 0; }
#include <vector>  #include <iostream>


int main() {     std::vector<int> va{ 1,2,3,4,4,5,6 };     for (auto i = va.begin();i != va.end(); )     {         if (*i == 4)         {             i = va.erase(i);         }         else { i++; }     }     for (auto i : va)     {         std::cout << i << "  ";     }     return 0; }


성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)