자료구조

[자료구조] Hash Table

simstealer 2022. 7. 6. 16:23
#include <iostream>
#include <vector>
#include <string>
#include <unordered_map>

using namespace std;


enum Gender 
{ 
	MALE, 
	FEMALE 
};

struct Student
{
	bool	isGlasses;
	Gender	gender;
	bool	areYourHuman;
	
};

ostream& operator << (ostream& oss, const Student& student)
{
	oss << "--------------------------------------\n";
	if (student.isGlasses)
	{
		oss << "이 학생은 안경을 착용하였습니다.\n";
	}
	else
	{
		oss << "이 학생은 안경을 미착용하였습니다.\n";
	}

	if (student.gender)
	{
		oss << "이 학생은 여자입니다.\n";
	}
	else
	{
		oss << "이 학생은 남자입니다.\n";
	}

	if (student.areYourHuman)
	{
		oss << "이 학생은 사람입니다.\n";
	}
	else
	{
		oss << "이 학생은 GOD입니다.\n";
	}
	oss << "--------------------------------------\n";

	return oss;

}

int main()
{
	//해시 테이블 Key와 Value를 한 쌍으로 저장한다
	unordered_map<string, Student> hashTable; // Value를 Student 구조체로 정의
	hashTable["홍길동"] = { false, FEMALE, true };
	hashTable["대장금"] = { false, MALE, false };

	cout << hashTable["홍길동"];
	cout << hashTable["대장금"];

}