Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 북리뷰
- 그래프
- 자료구조
- Operating System
- 알고리즘
- 오에스
- 너비우선탐색
- 컴공
- 컴퓨터공학과
- 코딩
- Stack
- 코테
- 구현
- bfs
- 개발
- 브루트포스
- 정석학술정보관
- 정석
- cs
- c++
- DP
- 스택
- vector
- 오퍼레이팅시스템
- 컴공과
- Computer science
- 문제풀이
- 백준
- coding
- OS
Archives
- Today
- Total
Little Jay
[C++] 자료구조/Array 구현 본문
#include <iostream>
#include <string>
using namespace std;
class Array {
public:
int n;
int* arr;
Array(int size) {
this->n = 0;
this->arr = new int[size];
for (int i = 0; i < size; i++) {
arr[i] = 0;
}
}
void at(int i) { // return arr[i]
if (arr[i] == 0) { // if arr[i] is null
cout << 0 << "\n";
}
else {
cout << arr[i] << "\n";
}
}
void set(int i, int x) { // overwrite index
if (arr[i] != 0) {
arr[i] = x;
}
else { // if arr[i] is null
cout << 0 << "\n";
}
}
void add(int i, int x) { //add x in arr[i]
if (arr[i] == 0) { // if arr[i] is null
for (int k = 0; k < 10000; k++) {
if (arr[k] == 0) {
arr[k] = x;
break;
}
}
}
else {
for (int k = n - 1; k >= i; k--) {
arr[k + 1] = arr[k];
}
arr[i] = x;
}
n += 1;
}
void remove(int i) { // delete arr[i] and return arr[i]
if (arr[i] == 0) { // if arr[i] == null
cout << 0 << "\n";
}
else {
int val = arr[i];
cout << val << "\n";
arr[i] = 0;
for (int k = i + 1; k <= n - 1; k++) {
arr[k - 1] = arr[k];
}
arr[n - 1] = 0;
if (n > 0) {
n -= 1;
}
}
}
void printArray() { //print all elements in array
if (n == 0) { // is arr is null, print 0
cout << 0 << "\n";
}
else {
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << "\n";
}
}
};
c++로 구현한 array
내가 쓰려고 구현한 코
'알고리즘 > DataStructure' 카테고리의 다른 글
Quick Sort, MergeSort with 백준 2751번 (0) | 2022.03.28 |
---|---|
[C++] 자료구조/Queue 구현 (0) | 2022.01.04 |
[C++] 자료구조/Stack 구현 (0) | 2021.11.20 |
Linked List Simple Question (0) | 2021.09.25 |
[C++] 자료구조/LinkedList 구현 (0) | 2021.08.28 |
Comments