C++
자료구조
Nin
2020. 12. 29. 00:01
자료구조란 다수의 데이터를 모아놓은 하나의 자료형이라고 생각할 수 있다.
(앞에서 배운 배열도 자료구조에 속한다.)
예를 들어 int 자료형 100개가 필요하다고 가정하면
int Arr[100] 이런식으로 배열로 만들어서 관리할 수 있다.
이런것을 컨테이너라고 하고,
여기에는 배열처럼 순차적인 자료구조만 있는것이 아니고 다양한 자료구조가 존재한다.
자료구조로서 언어에서 의미를 가지려면 필수적인 함수들이 몇가지 존재한다.
1. 데이터의 크기를 알수있게 해주는 함수
2. 데이터에 접근하는 방법에 관련된 함수 혹은 방법
3. 데이터의 탐색에 관련된 함수 혹은 방법
4. 데이터의 추가에 관련된 함수 혹은 방법
자료구조(컨테이너)의 기본 분류
-> 자료의 관리 방식에 의한 분류
시퀸스 컨테이너
연관 컨테이너
어댑터 컨테이너
수도코드)
(수도코드란 코드의 구조적 느낌만 대충 적어놓는 방식)
calss DataStruct
{
public:
int Size();
void Add();
void Find();
void At();
};
Size 란 자료의 크기(개수)
Add 란 자료를 추가
(자료형이 무엇인지 뭐가 들어가는지는 모르고 그냥 자료를 넣는다는 의미)
(자료구조는 어떤 데이터든 보관할 수 있어야 한다.)
Find 란 자료를 찾는것
At 은 자료에 접근
시퀸스 컨테이너
데이터를 선형으로 저장
특별한 제약이나 규칙이 없는 가장 일반적인 컨테이너
연관 컨테이너
데이터를 일정 규칙에 따라 조직화하여 저장하고 관리