벡터 의 상세 한 용법
                                            
 26592 단어  데이터 구조
                    
그것 은 여러 개의 정수 와 같은 여러 종류의 데 이 터 를 수용 할 수 있 기 때문에 용기 라 고 부른다.vector 는 C + STL 의 중요 한 구성원 입 니 다. 사용 할 때 헤더 파일 을 포함해 야 합 니 다. \ # include;
1. vector 의 초기 화:
(1)  vector<int> a(10); 
//   10        (          ,             ),       ,       。
(2 )  vector<int> a(10,1); 
//   10        ,           1
(3)vector<int> a(b); // b     a  ,       
(4)vector<int> a(b.begin(),b.begin+3);
//   a  b  0   2 ( 3 )  
(5)int b[7]={1,2,3,4,5,9,8}; vector<int> a(b,b+7); //        
  2. vector 대상 의 몇 가지 중요 한 조작:
(1)a.assign(b.begin(), b.begin()+3);
 //b   , b 0~2          a
(2)a.assign(4,2); // a  4   ,      2
(3)a.back(); //  a       
(4)a.front(); //  a      
(5)a[i]; //  a  i   ,    a[i]  2013-12-07
(6)a.clear(); //  a    
(7)a.empty(); //  a    ,    ture,     false
(8)a.pop_back(); //  a         
(9)a.erase(a.begin()+1,a.begin()+3); //  a  1 (  0   )  2   ,          a.begin()+1  (   )   a.begin()+         3(    )
(10)a.push_back(5); // a              ,   5
(11)a.insert(a.begin()+1,5); // a  1   (  0   )       5, a 1,2,3,4,      1,5,2,3,4
(12)a.insert(a.begin()+1,3,5); // a  1   (  0   )     3  ,    5
(13)a.insert(a.begin()+1,b+3,b+6); //b   , a  1   (  0   )     b  3     5   (   b+6), b 1,2,3,4,5,9,8         ,      1,4,5,9,2,3,4,5,9,8
(14)a.size(); //  a      ;
(15)a.capacity(); //  a               
(16)a.resize(10); // a         10 ,   ,   ,    
(17)a.resize(10,2); // a         10 ,   ,   ,   2
(18)a.reserve(100); // a   (capacity)   100,        a.capacity();       100.          a                        ,                ( a             ,         ) 
(19)a.swap(b); //b   , a     b           
(20)a==b; //b   ,         !=,>=,<=,>,<
  3. 순서대로 vector 에 접근 하 는 몇 가지 방식:
(1) 벡터 a 에 요 소 를 추가 합 니 다. 1. 간단 합 니 다.
 vector<int> a;
 for(int i=0;i<10;i++)
 a.push_back(i);
  2. 배열 에서 요 소 를 선택 하여 벡터 에 추가 합 니 다.
int a[6]={1,2,3,4,5,6};
vector<int> b;
for(int i=1;i<=4;i++)
b.push_back(a[i]);
  3. 기 존 벡터 에서 원 소 를 선택 하여 벡터 에 추가
int a[6]={1,2,3,4,5,6};
vector<int> b;
vector<int> c(a,a+4);
for(vector<int>::iterator it=c.begin();it<c.end();it++)
b.push_back(*it);
  4. 파일 에서 요 소 를 읽 고 벡터 에 추가
ifstream in("data.txt");
vector<int> a;
for(int i; in>>i)
    a.push_back(i);
  5. 【 잘못된 지역 】
vector<int> a;
for(int i=0;i<10;i++)
    a[i]=i;
  / / 이런 방법 과 유사 한 방법 은 모두 잘못된 것 이다.처음에 저도 이런 실 수 를 한 적 이 있 습 니 다. 나중에 아래 표 시 는 이미 존재 하 는 요 소 를 얻 는 데 만 사용 할 수 있 고 현재 a [i] 는 빈 대상 입 니 다.
(2) 벡터 에서 요 소 를 읽 기
1. 아래 표 시 를 통 해 읽 기
int a[6]={1,2,3,4,5,6};
vector<int> b(a,a+4);
for(int i=0;i<=b.size()-1;i++)
    cout<<b[i]<<" ";
  2. 스 트 리밍 방식 으로 읽 기
int a[6]={1,2,3,4,5,6};
vector<int> b(a,a+4);
for(vector<int>::iterator it=b.begin();it!=b.end();it++)
    cout<<*it<<" ";
  4. 몇 가지 중요 한 알고리즘 을 사용 할 때 헤더 파일 을 포함해 야 합 니 다.
  #include 
(1)sort(a.begin(),a.end()); // a   a.begin()(   ) a.end()(    )           
(2)reverse(a.begin(),a.end()); // a   a.begin()(   ) a.end()(    )     ,    , a    1,3,2,4,    4,2,3,1
(3)copy(a.begin(),a.end(),b.begin()+1); // a   a.begin()(   ) a.end()(    )      b , b.begin()+1   (   )            ,       
(4)find(a.begin(),a.end(),10); // a   a.begin()(   ) a.end()(    )      10,             
                이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.