본문 바로가기
오래된 글

C++ 벡터를 이용해서 길이가 다양한 이차원 배열 구현하기

by pagehit 2019. 4. 19.
반응형

C++ 벡터를 이용해서 이차원 배열 구현하기

c++에서는 vertor를 이용해서 가변 길이의 배열을 구현할 수 있다.
생각해볼 문제는 배열을 이용해서 구현하는 것과 무슨 차이가 있느냐라는 것이다.

배열을 이용하는 것과 벡터를 이용하는 것의 차이는 무엇인가?
벡터를 사용하는 방법은 무엇인가?

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;


int main() {
    /* Enter your code here. Read input from STDIN. Print output to STDOUT */   
    int n, q, k;

    scanf("%d %d", &n, &q);

    // create vectors of vectors
    vector<vector<int>> v(n); // create vectors which contain n element

    for(int i = 0; i < n; i++) {
        scanf("%d", &k);

        v[i].resize(k);

        for(int j = 0; j < k; j++) {
            scanf("%d", &v[i][j]);
        }
    }

    int i, j;
    for(int l = 0; l < q; l++) {

        scanf("%d %d", &i, &j);

        printf("%d\n", v[i][j]);
    }

    return 0;
}

참고

2019/04/04 - [C++] - C++ | #include <bits/stdc++.h> 헤더파일이란 무엇인가?

2019/04/02 - [C++] - C++ 강의 | 조건문 if와 if - else 문 그리고 if - else if -else 문

2019/04/02 - [C] - C/C++ printf 함수에서 실수 소수점 자리와 너비를 지정하는 방법 | 숫자 정렬해서 출력하기, 소수점 아래 자리수 지정하기

2019/04/01 - [C++] - C++ 강의 | 기본 데이터 타입과 형식지정자 그리고 C++의 출력과 입력 scanf와 printf

반응형

댓글