[STL] Vector 생성, 삽입, 삭제 등 사용법

Notepad96

·

2020. 11. 3. 00:10

300x250

 

 


1. vector

 

vector은 배열 기반 컨테이너이다. 따라서 배열과 비슷하여 사용하기 쉬워서 빈번하게 사용된다.

 

하나의 메모리 블록에 연속하여 저장되는 특징을 갖는다.

연속하여 저장되어 원소에 접근하는 경우 연산은 빠르지만 삽입, 삭제가 빈번하게 호출되어야 하는 경우 상당한 비용이 소모될 수 있다.

 

 

 

 

 

- 정 렬

 

C++ vector 정렬(sort) - 오름차순, 내림차순

  1. 정렬(Sort) C++ 에서는 STL algorithm 라이브러리에서 sort 함수를 지원해준다. 정렬 방식은 퀵 정렬로서 빠른 속도를 보장한다. sort 함수는 일련의 반복자를 사용함으로 Set이나 Map 같은 컨테이너에

notepad96.tistory.com

 

- 값 묶어서 저장

 

C++ 2쌍, 3쌍 값 묶기 - Pair, Tuple

1. pair, tuple - 2쌍, 3쌍 값 묶기 서로 연관이 있는 데이터끼리 처리하기 쉽고 직관적이게 알 수 있게 값을 묶고 싶을 때가 있다. 이러할 경우 직접 클래스나 구조체를 만들어서 묶을 수도 있지만 이

notepad96.tistory.com

 

 

 

 


2. 코 드

#include <iostream>
#include <vector>
using namespace std;

int main()
{
    /* 생성자 */
    vector<int> v;
    //vector<int> v(5); // size = 5만큼 int의 기본값 0으로 초기화
    //vector<int> v(5, 2); // size = 5 만큼 2로 초기화

    // 삽입
    v.push_back(5); // 맨뒤의 삽입
    v.push_back(3);
    v.push_back(1);
    v.insert(v.begin(), 2); // (반복자, 값) : 반복자의 삽입
    // 2 - 5 - 3 - 1

    // 삭제
    v.pop_back();   // 맨뒤 삭제
    v.erase(v.begin()); // (반복자) : 반복자의 삭제

    cout << "길이 : " << v.size() << "\n";
    cout << "맨앞 : " << v.front() << " 맨뒤 : " << v.back() << "\n";

    for (int n : v) {
        cout << n << " ";
    }
    cout << "\n";

    // 새로 초기화
    v.assign(5, 4); // size = 5 만큼 4로 초기화
    for (int n : v) {
        cout << n << " ";
    }
    cout << "\n";

    // 비우기
    v.clear();

    return 0;
}

 

 

결과

 

 

 


3. 참 조

 

 

vector - C++ Reference

difference_typea signed integral type, identical to: iterator_traits ::difference_type usually the same as ptrdiff_t

www.cplusplus.com

 

 

300x250