검색어 입력폼

[C언어]연결법을 이용한 해싱

저작시기 2007.06 |등록일 2007.06.13 파일확장자압축파일 (zip) | 1페이지 | 가격 1,200원

소개글

화일내의 학생 이름과 학번, 전공으로 이루어진 학생 레코드들을 스트럭쳐에 저장하고, 연결법을 사용하여 해쉬 테이블에 저장하여 관리하는 프로그램. 해쉬 함수는 학번을 입력으로 받아 모듈러 연산을 이용하며, 입출력 화일의 형식은 같다.



void init_ht()
해싱테이블을 초기화 하는 함수. 체인법을 이용하여 오버플로우를 제어하므로 초기에는 모두 NULL을 가르키도록 한다.
void deleteHT()
해싱테이블을 삭제하는 함수. malloc으로 할당된 메모리를 모두 해제시켜주는 역할을 하는 함수이다.
void load_file()
파일을 해싱테이블에 저장하여 주는 함수. 파일이름을 입력받아 해당 파일을 열고, 그 내용을 해싱테이블에 체인법을 이용하여 저장하여주는 역할을 한다.
void inputToht(etyptr temp)
해싱테이블에 체인법을 이용하여 레코드를 저장하여 주는 함수. 인덱스는 모듈러 연산을 사용하는 해싱 함수를 이용하여 받아오고, 해당 인덱스에 체인법을 이용하여 레코드를 저장한다. 새로운 레코드는 앞부분에 삽입도록 하여 삽입 속도를 빠르게 유지시켜 준다.
void insert_data()
데이터를 직접입력 받아와 해싱테이블에 저장하여주는 함수. 데이터는 직접 입력 받아 레코드에 저장하고, 학번을 이용하여 인덱스를 찾아 해당 위치에 레코드를 연결하여 준다.
etyptr search_data(int id, int index)
해싱테이블에서 학번을 이용한 데이터 탐색을 해주는 함수. 파라미터로 검색할 학번과 테이블의 인덱스를 받아와 연결된 레코드들에서 검색을 하고 결과를 리턴하여 준다. 리턴 노드는 목표노드의 전노드이다.
void find_data()
학번을 이용하여 해싱테이블에서 데이터를 검색하는 함수. 정수형의 여덜자리 학번을 입력받아 탐색함수를 이용하여 결과를 받아온 후 출력하여주는 함수이다.
void delete_data()
학번을 입력받아 해당 데이터를 해싱테이블에서 삭제하는 함수. 학번을 입력하면 탐색함수를 이용해서 해당 노드의 전 주소를 받아온다. 그 주소를 이용하여 다음 노드를 삭제하여 준다.
void save_data()
해싱테이블의 데이터들을 파일에 저장하는 함수. 저장할 파일이름을 입력 받아서 현재 해싱테이블에 있는 데이터를 저장하여 준다.
int Get_intData()
정수값을 입력받아야 하는 경우 정상적인 입력이 이루어 졌는 지 검사 한 후 atoi함수를 이용하여 해당 정수값을 반환하여 주는 역할을 하는 함수. 최초 입력은 string으로 받아온다.
void _strcpy(char *a, char *b)
문자열을 파라미터로 받아와 복사하여 주는 함수.
void Get_String(char *strtemp)
문자열을 입력받는 함수. 파라미터로 받아온 배열에 문자열을 입력받아 저장하여주는 역할을 한다.

컴파일 실행환경

C언어

압축파일내 파일목록

hashing.ncb
hashing.dsp
hashing.dsw
hashing.plg
infile.txt
out.txt
hashing.c
hashing.hwp
Untitled-1 copy.jpg
hashing.opt
Debug/vc60.idb
Debug/vc60.pdb
Debug/hashing.pch
Debug/hashing.obj
Debug/hashing.pdb
Debug/hashing.exe
Debug/hashing.ilk
다운로드 맨위로