간단한 해쉬 테이블을 책에 있는 예제를 따라해봤다.

테이블은 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값도 자연스레 찾을 수 있다.

 

블로그 이미지

ryancha9

https://blog.naver.com/7246lsy

,