> 백엔드 개발 > C#.Net 튜토리얼 > C++ 벡터 사용법

C++ 벡터 사용법

黄舟
풀어 주다: 2016-12-14 14:52:34
원래의
2566명이 탐색했습니다.

1 기본 작업

(1) 헤더 파일 #include<벡터>.

(2) 벡터 객체 생성, vector

(3 ) 끝에 숫자를 삽입하세요: vec.push_back(a);

(4) 요소에 액세스하려면 첨자를 사용하세요. cout

(5) 반복자를 사용하여 요소에 액세스합니다.

vector<int>::iterator it;for(it=vec.begin();it!=vec.end();it++)
    cout<<*it<<endl;
로그인 후 복사

(6) 요소 삽입: vec.insert(vec.begin()+i,a) at i+1 Insert 요소 앞의 a;

(7) 요소 삭제: vec.erase(vec.begin()+2) 세 번째 요소 삭제

vec.erase(vec.begin( ) +i,vec.end()+j); 간격 삭제 [i,j-1]; 간격은 0부터 시작합니다

(8) 벡터 크기: vec.size();

(9) Clear: vec.clear();

2

벡터의 요소는 int, double, string뿐만 아니라 구조체도 될 수 있지만 참고하세요: 구조체 전역적으로 정의해야 합니다. 그렇지 않으면 오류가 발생합니다. 다음은 짧은 프로그램 코드입니다.

#include<stdio.h>
#include<algorithm>
#include<vector>
#include<iostream>
using namespace std;

typedef struct rect
{
    int id;
    int length;
    int width;

  //对于向量元素是结构体的,可在结构体内部定义比较函数,下面按照id,length,width升序排序。
  bool operator< (const rect &a)  const
    {
        if(id!=a.id)
            return id<a.id;
        else
        {
            if(length!=a.length)
                return length<a.length;
            else
                return width<a.width;
        }
    }
}Rect;

int main()
{
    vector<Rect> vec;
    Rect rect;
    rect.id=1;
    rect.length=2;
    rect.width=3;
    vec.push_back(rect);
    vector<Rect>::iterator it=vec.begin();
    cout<<(*it).id<<&#39; &#39;<<(*it).length<<&#39; &#39;<<(*it).width<<endl;    

return 0;

}
로그인 후 복사

3 알고리즘

(1) 요소를 뒤집으려면 reverse를 사용합니다. 헤더 파일 필요 #include

reverse( vec.begin(),vec.end()); 요소 뒤집기(벡터에서 함수에 두 개의 반복자가 필요한 경우

는 일반적으로 후자를 포함하지 않습니다.)

( 2) 정렬을 사용하여 정렬: 헤더 파일 #include

sort(vec.begin(),vec.end()); , 작은 것부터 큰 것까지) .

다음과 같이 정렬 비교 함수를 다시 작성하여 내림차순으로 비교할 수 있습니다.

정렬 비교 함수 정의:

bool Comp( const int &a,const int &b)

{
반환 a>b;
}
호출 시: sort(vec.begin(),vec.end(),Comp), 내림차순으로 정렬됩니다

더 많은 관련 콘텐츠를 보려면 결제하세요. PHP 중국어 홈페이지(www.php.cn)를 주목해주세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿