배열의 정의
배열은 같은 자료형의 변수로 이루어진 요소가 직선모양으로 줄지어 있는 자료구조이다.
int arr[5];
위와 같이 선언하면 길이가 5인 int형 배열이라는 의미
연산자 [ ]를 이용해 배열의 요소들에 접근한다. 첫번째 요소는 arr[0], 마지막 요소는 arr[n-1]이다.
또한 배열의 요소는 일반 변수와 성질이 같다.
길이가 n인 Type형 배열의 자료형은 Type[n]으로 나타낸다. 위 배열의 자료형은 int[5]형.
배열을 초기화 할 땐 { }안에 요소들을 쉼표로 구분해주면 된다.
#include <iostream>
int main(){
int a[5] = {1, 2, 3, 4, 5}; //배열 초기화
return 0;
}
배열의 요소 개수를 구할 땐 sizeof(arr)/sizeof(arr[0])을 해주면 된다. 즉, 배열 전체의 메모리 크기를 배열 요소 하나의 메모리 크기로 나눠주면 배열의 요소 개수가 나온다.
#include <iostream>
int main(){
int arr[5] = {1, 2, 3, 4, 5};
std::cout << sizeof(arr)/sizeof(arr[0]) //20/4이므로 5
return 0;
}
배열 요소의 삽입, 삭제
1) 삽입
배열에 요소를 삽입할 때는 해당위치부터 맨 마지막 요소까지를 모두 한칸씩 뒤로 밀고 요소를 삽입해야한다.
#include <iostream>
int main(){
int arr[7] = {68, 22, 57, 11, 91, 32};
for(int i = 6; i > 2; i--){
arr[i] = arr[i-1];
}
arr[2] = 87;
}
2) 삭제
마찬가지로 요소를 삭제할 때도 뒷부분 요소들을 모두 앞으로 옮겨주어야 한다.
물론 옮기는 과정에서 삭제하고 싶은 값이 뒤의 값으로 덮어지기 때문에 직접적인 삭제를 할 필요는 없다.
#include <iostream>
int main(){
int arr[7] = {68, 22, 87, 57, 11, 91, 32};
for(int i = 2; i < 6; i++){
arr[i] = arr[i+1];
}
}
'자료구조' 카테고리의 다른 글
[자료구조] 3. 연결리스트 (0) | 2023.02.14 |
---|---|
[자료구조] 2. 스택(stack), 큐(queue) (0) | 2023.01.25 |
댓글