• Chapter 02. 배열 (Array)

    2021. 4. 4.

    by. Sooming_

    배열 (Array)

    같은 타입의 요소들이 연속하여 저장된 자료구조

     

    • 장점 : 접근 속도가 빠르고 일정
    • 단점 : 미리 크기를 정해야 하고, 한 번 정한 크기는 변경할 수 없음
                  삽입제거에 있어 상대적으로 비용이 큼

     

     

     

    배열의 삽입 

    add(idx, value)

     

    배열의 idx번째 위치에 value를 삽입

    배열 인덱스 idx에서 N-2를 오른쪽으로 한 칸씩 이동

     

     

     

    배열의 삭제

    remove(idx)

     

    배열의 idx번째 위치의 요소를 삭제

    배열 인덱스 idx+1에서 N-1을 왼쪽으로 한 칸씩 이동

     

     

     

    배열의 할당

    set(idx, value)

     

    배열의 idx 값을 value로 변경

     

     

     

    코드

    #include <iostream>
    using namespace std;
    
    class Array {
    private:
        int *arr;
        int arrSize;
    public:
        Array(int sz) {
            this->arrSize = sz;
            this->arr = new int[arrSize];
            for (int i{0}; i < sz; i++) {
                arr[i] = 0;
            }
        }
    
        int at(int idx) {
            return arr[idx];
        }
    
        void add(int idx, int value) {
            for (int i = arrSize- 2; i>= idx; i--) {
                arr[i+1] = arr[i];
            }
            arr[idx] = value;
        }
    
        void set(int idx, int value) {
            arr[idx] = value;
        }
    
        void print() {
            for (int i{0}; i < arrSize; i++) {
                cout << arr[i] << " ";
            }
            cout << endl;
        }
    
        void remove(int idx) {
            for (int i{idx+1}; i < arrSize; i++) {
                arr[i-1] = arr[i];
            }
            arr[arrSize-1] = 0;
        }
    };

     

     

    'Study > 자료구조' 카테고리의 다른 글

    Chapter 04. 스택 (Stack)  (0) 2021.04.05
    Chapter 03. 연결 리스트 (Linked List)  (0) 2021.04.05
    Chapter 01. 자료구조의 개요  (0) 2021.04.03

    댓글