Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

배열 자료구조의 기본 연산 완전 정복: 순회·삽입·삭제·검색·갱신

배열 자료구조의 핵심 기본 연산

배열(Array)은 가장 기본적이면서도 폭넓게 활용되는 자료구조로, 프로그래밍에서 반드시 알아야 할 다음과 같은 핵심 연산들을 제공합니다.

  • 순회(Traverse): 배열의 모든 요소를 처음부터 끝까지 차례대로 방문하며 확인
  • 삽입(Insertion): 배열의 지정된 위치에 새로운 요소 추가
  • 삭제(Deletion): 배열에서 특정 요소를 제거하고 뒤쪽 요소들의 위치를 앞으로 당김
  • 검색(Search): 배열 내에서 원하는 값이 존재하는지 탐색
  • 갱신(Update): 특정 위치의 요소 값을 새로운 값으로 변경

순회는 배열 전체를 훑어보는 작업입니다. 삽입은 원하는 위치에 요소를 넣는 것이고, 삭제는 요소를 제거한 뒤 나머지 요소들의 위치를 재조정하는 과정까지 포함합니다. 검색은 배열에 특정 값이 있는지 찾는 작업이며, 갱신은 주어진 위치의 요소 값을 수정하는 것을 의미합니다.

그럼 아래의 C++ 예제 코드를 통해 각 연산이 실제로 어떻게 동작하는지 살펴보겠습니다.

C++ 예제 코드

#include<iostream>
#include<vector>
using namespace std;
main(){
    vector<int> arr;
    // 요소 삽입
    arr.push_back(10);
    arr.push_back(20);
    arr.push_back(30);
    arr.push_back(40);
    arr.push_back(50);
    arr.push_back(60);
    for(int i = 0; i<arr.size(); i++){ // 순회
        cout << arr[i] << " ";
    }
    cout << endl;
    // 요소 삭제
    arr.erase(arr.begin() + 2);
    arr.erase(arr.begin() + 3);
    for(int i = 0; i<arr.size(); i++){ // 순회
        cout << arr[i] << " ";
    }
    cout << endl;
    arr[0] = 100; // 갱신
    for(int i = 0; i<arr.size(); i++){ // 순회
        cout << arr[i] << " ";
    }
    cout << endl;
}

실행 결과

10 20 30 40 50 60
10 20 40 60
100 20 40 60

결과 해설

먼저 push_back() 함수로 10부터 60까지 6개의 정수를 배열에 삽입한 뒤 순회하여 출력했습니다. 그다음 erase() 함수를 사용해 인덱스 2와 3 위치의 요소(각각 30과 50)를 삭제했더니 배열은 '10 20 40 60'이 되었습니다. 마지막으로 arr[0] = 100 문장으로 첫 번째 요소의 값을 갱신하여 최종적으로 '100 20 40 60'이 출력되었습니다. 이처럼 배열의 기본 연산들은 실무에서도 매우 자주 활용되므로, 각 연산의 동작 원리를 정확히 이해해 두는 것이 중요합니다.