Avatar
회사에서는
Todd

Cybertramp

아래에서 위로

Vector

글을 쓴날: 2022-01-03

#include `를 포함한다.

  • Vector 초기화

    # 직접 할당
    vector<int> vec = { -1,-1,-1 };
    
    # 함수형 할당(3개의 원소, -1로 초기화)
    vector<int> vec(3,-1);
    
    # fill 함수를 통한 초기화
    vector<int> vec(3); 
    fill(vec.begin(),vec.end(),-1);
    
    # assign 함수를 통한 초기화
    vector<int> vec; 
    vec.assign(3,-1); 
    for (int i = 0; i < 3; i++) { 
        cout << vec[i] << " "; 
    }
    
    # 다차원 벡터 초기화
    vector<vector<int>> vec(3, vector<int>(3,-1));
    
  • Vector 특정 원소의 Index

    vector<int> vec = { 1,2,3,4,5,6,7 };
    vector<int>::iterator iter = find(vec.begin(), vec.end(), 4);    // 첨~끝, 찾고자하는 Item Value를 find 함수에 넣고 iter(반복자)로
    int index = distance(vec.begin(), iter);    // 첫 인덱스 부터 반복자 사이의 거리를 이용하여 index 찾기
    cout << index;
    
  • Vector 특정 값이 존재하는지 확인

    # 1번 방법(Use Iter)
    vector<int> myvector = { 10,20,37,40,50,60,30 };
    vector<int>::iterator it = find(myvector.begin(), myvector.end(), 30);
    if (it != myvector.end()){
        cout << "Found!\n";
    }else{
        cout << "Not Found!\n";
    }
    
    # 2번 방법(Not use Iter)
    vector<int> myvector = { 10,20,37,40,50,60,30 };
    if(find(myvector.begin(), myvector.end(), 30) != myvector.end()){
        cout << "Found!\n";
    }else{
        cout << "Not Found!\n";
    }
    
  • Vector 복사

    vectorTarget.resize(vectorSource.size());
    std::copy(vectorSource.begin(), vectorSource.end(), vectorTarget.begin());  
    

 

comments powered by Disqus