티스토리 뷰

Algorithm/Data Structure

1. 배열(Array)

쟌쥰 2019. 11. 27. 18:04

배열

  • 같은 자료형의 변수 여러 개를 하나의 묶음으로 만들어 하나의 이름으로 다룸
  • 처음 생성 시 크기가 정해짐!
  • <index, element> 쌍의 집합으로 인덱스를 사용해 '직접 접근(direct access)' 할 수 있다.

C++ vector

c++ 의  STL 중 배열에 여러 기능을 추가한 벡터(vector) 제공

 

  • 배열과 같이 인덱스로 항목에 접근
  • 일반 배열보다 많은 정보를 얻을 수 있다. (벡터의 크기, Capacity 등...)
  • 벡터의 크기는 동적으로 변한다
  • 메모리 관리도 효율적이고 자동으로 이루어짐
  • 새로운 원소를 벡터의 끝, 혹은 중간에 삽입할 수도 있다. 
  • ** 하지만 일반 배열처럼 중간에 원소를 삽입하는 행위는 비효율적이다, 이러한 연산은 연결 리스트(linked list)를 사용하는 것이 좋다.

 

1차원 배열

 

자료형 배열이름[배열의_크기];

배열의 중요한 특징은 요소들이 모두 메모리의 연속된 공간에 할당된다는 것이다.

 

base 즉 기본주소는 배열의 시작 주소가 되며 각 요소들의 주소는 위 그림처럼 시작주소를 기준으로 일정하게 계산된다.

 

 

 

2차원 배열

 

자료형 배열이름[행의_크기][열의_크기];

실제 메모리 안에서 2차원 배열의 위치

2차원 배열은 1차원 배열이 여러 개 모여서 이루어진다. 2차원 배열에서 가로줄을 행(row), 세로줄을 열(column) 이라고 한다.

 

 

'Algorithm > Data Structure' 카테고리의 다른 글

2. 스택(stack)  (0) 2019.11.27
자료구조  (0) 2019.11.27
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
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
글 보관함