간단한 해쉬 테이블을 책에 있는 예제를 따라해봤다.
테이블은 stl에서 벡터나 맵과 비슷하다.
key와 value로 구분한다.
struct data{
int key; // 키
int value; // 값
};
int main(){
struct data arr[100]; // 테이블
struct data search; // 테이블에 저장할 목록
int i; // 테이블 인덱스
scanf("%d %d", &search.key, &search.value); // 테이블에 넣을 목록을 입력받는다.
arr[search.key] = search; // 입력받은 구조체를 arr라는 구조체 배열에 넣는다.
scanf("%d", &i); // 찾을 인덱스(키)를 입력받는다.
search = arr[i]; // 구조체 배열 내에 있는 값을 나타낼 구조체에 넣는다.
printf("%d %d", search.key, search.value); // 출력한다.
return 0;
}
arr[search.key] 안에는 search.key 와 search.value가 있다.
search.key는 배열의 인덱스 역할을 한다.
search.value는 배열의 값을 나타낸다.
결국엔 key는 arr라는 배열 안에도 있고 배열을 가리키는 인덱스다.
배열의 key를 찾으면 value값도 자연스레 찾을 수 있다.
'자료구조' 카테고리의 다른 글
[자료구조] 무방향 그래프 알고리즘 (0) | 2019.12.12 |
---|---|
[자료구조] 이진트리탐색 알고리즘 (0) | 2019.12.12 |
[자료구조] 보간탐색 알고리즘 (0) | 2019.12.12 |
[자료구조] 이진트리 알고리즘 (0) | 2019.12.12 |
[자료구조] 퀵소트 (0) | 2019.12.12 |