-
배열 (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 댓글