-
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
-
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46
-
47
-
48
-
49
-
50
-
51
-
52
-
53
-
54
목차
[Debug]
HASH Table.exe
HASH Table.ilk
HASH Table.pdb
[HASH Table]
[Debug]
[Release]
HASH Table.vcxproj
HASH Table.vcxproj.filters
HASH Table.vcxproj.user
main.cpp
[ipch]
[hash table-5a37e48b]
[Release]
HASH Table.exe
HASH Table.pdb
HASH Table.sdf
HASH Table.sln
HASH Table.suo
55.9MB
파일 54, 폴더 7
HASH Table.exe
HASH Table.ilk
HASH Table.pdb
[HASH Table]
[Debug]
[Release]
HASH Table.vcxproj
HASH Table.vcxproj.filters
HASH Table.vcxproj.user
main.cpp
[ipch]
[hash table-5a37e48b]
[Release]
HASH Table.exe
HASH Table.pdb
HASH Table.sdf
HASH Table.sln
HASH Table.suo
55.9MB
파일 54, 폴더 7
본문내용
main.cpp
#include
#include
#include
#include
#define HASH_SIZE 53
typedef char* Item;
typedef struct Node{
Item name; // 이름
Item phoneNum; // 전화번호
struct Node* link; //다음 노드
}Node;
typedef Node* LinkedList;
typedef struct tagHashTable{
LinkedList* Table;
int TableSize;
}HashTable;
//////////////////////////////////////////////////////////////////////
HashTable* createHash(int TableSize); // 헤쉬 테이블 생성
int hash_function(Item _name, int TableSize); // 해쉬 함수
Node* createNode(Item name, Item phoneNum); // 노드 생성
void insert_data(HashTable* _HashTable, Item name, Item phoneNum); // 데이터 삽입
void search_data(HashTable* _HashTable, Item name); // 데이터 검색
void delete_data(HashTable* HT, Item name, Item phoneNum); // 데이터 삭제
void hash_chain_print(HashTable* _HashTable); //해시테이블 가시화
void init(HashTable* _HashTable); // 초기화 (정보입력)
//////////////////////////////////////////////////////////////////////
void main(){
HashTable* HashTable = createHash(HASH_SIZE);
init(HashTable);//초기 데이터 삽입
system(\"cls\");
while(1){
int number;
char name[10];
char phoneNum[15];
printf(\"\\n\\n\\n\\n\\n\\n\");
printf(\"\\t\\t\\t---------------------------\\n\");
printf(\"\\t\\t\\t| 해시 테이블 |\\n\");
printf(\"\\t\\t\\t---------------------------\\n\");
printf(\"\\t\\t\\t| 1) 데이터 삽입 |\\n\");
printf(\"\\t\\t\\t| 2) 데이터 탐색 |\\n\");
printf(\"\\t\\t\\t| 3) 데이터 삭제 |\\n\");
printf(\"\\t\\t\\t| 4) 테이블 현황 보기 |\\n\");
printf(\"\\t\\t\\t| 5) 프로그램 종료 |\\n\");
printf(\"\\t\\t\\t---------------------------\\n\");
printf(\"\\n\\t\\t\\t 메뉴 번호 입력 : \");
fflush(stdin);
scanf(\"%d\", &number);
//printf(\"number = %d\\n\",number);
switch(number){
//데이터 삽입
case 1:
system(\"cls\");
fflush(stdin);
printf(\"\\n\\n\\n\\n\\n\\n\");
printf(\"\\t\\t\\t이름을 입력하세요 : \");
scanf(\"%s\", &name);
fflush(stdin);
printf(\"\\t\\t\\t전화번호를 입력하세요 : \");
scanf(\"%s\", &phoneNum);
insert_data(HashTable,name,phoneNum);
break;
#include
#include
#include
#include
#define HASH_SIZE 53
typedef char* Item;
typedef struct Node{
Item name; // 이름
Item phoneNum; // 전화번호
struct Node* link; //다음 노드
}Node;
typedef Node* LinkedList;
typedef struct tagHashTable{
LinkedList* Table;
int TableSize;
}HashTable;
//////////////////////////////////////////////////////////////////////
HashTable* createHash(int TableSize); // 헤쉬 테이블 생성
int hash_function(Item _name, int TableSize); // 해쉬 함수
Node* createNode(Item name, Item phoneNum); // 노드 생성
void insert_data(HashTable* _HashTable, Item name, Item phoneNum); // 데이터 삽입
void search_data(HashTable* _HashTable, Item name); // 데이터 검색
void delete_data(HashTable* HT, Item name, Item phoneNum); // 데이터 삭제
void hash_chain_print(HashTable* _HashTable); //해시테이블 가시화
void init(HashTable* _HashTable); // 초기화 (정보입력)
//////////////////////////////////////////////////////////////////////
void main(){
HashTable* HashTable = createHash(HASH_SIZE);
init(HashTable);//초기 데이터 삽입
system(\"cls\");
while(1){
int number;
char name[10];
char phoneNum[15];
printf(\"\\n\\n\\n\\n\\n\\n\");
printf(\"\\t\\t\\t---------------------------\\n\");
printf(\"\\t\\t\\t| 해시 테이블 |\\n\");
printf(\"\\t\\t\\t---------------------------\\n\");
printf(\"\\t\\t\\t| 1) 데이터 삽입 |\\n\");
printf(\"\\t\\t\\t| 2) 데이터 탐색 |\\n\");
printf(\"\\t\\t\\t| 3) 데이터 삭제 |\\n\");
printf(\"\\t\\t\\t| 4) 테이블 현황 보기 |\\n\");
printf(\"\\t\\t\\t| 5) 프로그램 종료 |\\n\");
printf(\"\\t\\t\\t---------------------------\\n\");
printf(\"\\n\\t\\t\\t 메뉴 번호 입력 : \");
fflush(stdin);
scanf(\"%d\", &number);
//printf(\"number = %d\\n\",number);
switch(number){
//데이터 삽입
case 1:
system(\"cls\");
fflush(stdin);
printf(\"\\n\\n\\n\\n\\n\\n\");
printf(\"\\t\\t\\t이름을 입력하세요 : \");
scanf(\"%s\", &name);
fflush(stdin);
printf(\"\\t\\t\\t전화번호를 입력하세요 : \");
scanf(\"%s\", &phoneNum);
insert_data(HashTable,name,phoneNum);
break;
소개글