벡터

Esther·2023년 5월 20일
0

즐거운ㅋ코딩공부

목록 보기
7/8

벡터란 크기조절이 동적으로 가능한 배열과 같다.

#include <cstdio>
#include <vector>
#include <algorithm>

using namespace std;

int main(){

	vector <int> myArray(10);
    // 벡터 선언 : myArray라는 벡터의 크기는 10
    
     // myArray[0]=1;
    // myArray[1]=2;
    // myArray[2]=3;

    // myArray[0] = 3;
    
    // myArray[1] = 2;
    // myArray[8] = 4;
    // 이런식으로 값을 넣어줄수도 있으나
   for(int i=0;i<10;i++){
 		myArray[i] = i;
   }
   		myArray.push_back(10);
        // 제일 마지막에 10을 삽입하라는 뜻으로 이렇게 데이터를 대입할 수 있음.
        // 이렇듯 배열과 다르게 벡터는 크기 조절이 되어서 처음 선언한 크기가 아니어도 데이터를 삽입하고 또 삭제할 수 있다.
           
    for(int i=0;i<11;i++){
        printf("%d ",myArray[i]);
     }

    return 0;
}
        
        
        

vector myArray(10);
벡터 선언
하지만 선언과 동시에 원소를 지정해줄 수도있다
vector myArray(10,3);
3으로 다 세팅된 것

기본적으로 메소드는 4가지정도 있는데
.push_back(x)
-> 해당벡터(벡터는 자료구조이고 클래스이고 구조체같은것임)에 마지막 -> x값을 넣어준다
.pop_back() -> 끝에서 뺀다
.resize(x) -> 크기 x로 바꿔라
.size() -> 현재 크기가 몇이냐


vector myArray();
크기를 모르는 벡터를 선언한다.
이 벡터는 아무것도 없는 상태이다

myArray.push_back(1);
myArray.push_back(2);
myArray.push_back(3);

맨 끝에다가 1, 2, 3 을 push_back을 해주면
새로운 공간 인 3개의 공간이 생기는 것임.
내가 공간을 조정할 수 있다는 뜻 . 진짜 필요한만큼만 공간을 사용할 수 있음


myArray.pop_back();
공간이 2가된다
myArray.pop_back();
공간이 1이된다 (데이터도 함께 삭제됨)


myArray.resize(5);
1이었던 벡터의 공간이 5개가 된다. (네개가 더생김)
myArray.resize(5,3);
5개의 공간이 되면서 나머지 4개를 추가한 빈 공간에 3으로 세팅한다.


myArray.size();
사이즈를 반환하는데
현재 5공간을 가지고 있기 때문에 5 반환해준다.


.insert
.erase 같은것도 있음

0개의 댓글