vector

왕준영·2022년 11월 19일
1

C++ STL

목록 보기
1/6

참고자료 : https://learn.microsoft.com/en-us/cpp/standard-library/vector-class?view=msvc-170

Header

#include <vector>

Functions

empty

  • vector에 원소가 있는지 검사함. 비어있을경우 return true
bool empty() const;
  • Example
int main(){
    vector<int> v;
    if(v.empty()) cout << "I am in between jobs.";
}

push_back

  • vector의 맨 뒤에 원소 삽입
void push_back(const T& value);
void push_back(T&& value);

pop_back

  • vector의 맨 뒤에 원소 삭제
void pop_back();
  • Example
int main(){
	vector<int> v; 
  
 	v.push_back(3); 
 	v.pop_back();
  
  	}

begin

  • vector의 시작을 나타내는 iterator return ( 첫 요소를 가르킨다)
const_iterator begin() const;

iterator begin();

end

  • vector 의 끝을 나타내는 iterator return ( 마지막 요소의 다음을 가르킨다)
iterator end();

const_iterator end() const;
  • Example
int main(){
	vector<int> v;
    v.push_back(1);
    v.push_back(3);
    v.push_back(2);
    
    sort(v.begin(),v.end());
}

size

  • vector 의 element 개수를 return
size_type size() const;

-Example

int main(){
	vector<int> v;
    
    v.push_back(1004);
    if(v.size()==1) cout<<"wang jun young";
}

insert

  • vector에 position 위치부터 element 를 insert
  • vector에 position 위치부터 다른 iterator 의 first~last 의 element들을 삽입함
iterator insert(
    const_iterator position,
    const Type& value);

iterator insert(
    const_iterator position,
    Type&& value);
void insert(
  	const_iterator position,
    size_type count,
    const Type& value);
template <class InputIterator>
void insert(
    const_iterator position,
    InputIterator first,
    InputIterator last);
  • Example
int main(){
	vector<int> v1;
    vector<int> v2;
    
    v1.push_back(1);
    v1.push_back(5);
    v2.push_back(2);
    v2.push_back(4);
	
    v2.insert(1,3);
	v1.insert(1,v2.begin(),v2.end());
}

erase

  • vector의 position 위치부터 모두 암살
  • vector의 first부터 last 전까지 모두 암살
iterator erase(
    const_iterator position);

iterator erase(
    const_iterator first,
    const_iterator last);
  • Example
int main(){
	vector<int> v;
    
    v.push_back(1);
    v.push_back(5);
    v.push_back(2);
    v.push_back(4);
	
    v.erase(v.begin()+1,v.begin()+2);
}

clear

  • vector의 모든 원소 암살
void clear();
  • Example
int main(){
	vector<int> v1;
    
    v1.push_back(1);
    v1.push_back(5);
   	
    v1.clear();
}
profile
원리,구현,근본

0개의 댓글