벡터 의 상세 한 용법
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에 따라 라이센스가 부여됩니다.