[C언어] 연결법을 이용한 해싱 프로그램
- 등록일 / 수정일
- 페이지 / 형식
- 자료평가
- 구매가격
- 2007.11.07 / 2019.12.24
- 5페이지 / zip (압축파일)
- 1건 (구매금액의 3%지급)
- 1,200원
추천 연관자료
- 목차
-
#define MAX_HT 10 /*해싱테이블의 최대크기*/
#define MAX_STR 100 /*문자열의 최대크기*/
typedef struct _entry *etyptr;
etyptr ht[MAX_HT]; // 해싱 테이블 생성
typedef struct _entry { // 레코드를 저장할 구조체
char *name; // 이름
int id; // 학번
char *major; // 전공
etyptr nextentry; // 다음 노드
} entry;
int hashing_func(int a){ return a%MAX_HT; } // 해싱 함수. 모듈러 연산을 이용하여 인덱스를 반환함.
void load_file(); // 파일 로드 함수.
void insert_data(); // 해싱 테이블에 입력받은 데이터를 저장하는 함수.
void find_data(); // 데이터 검색 함수.
void delete_data(); // 데이터 삭제 함수.
void save_data(); // 데이터를 파일에 저장하는 함수.
void inputToht(etyptr temp); // 해싱 테이블에 데이터를 저장하는 함수.
void init_ht(); // 해싱 테이블 초기화 함수.
void deleteHT(); // 해싱 테이블 삭제 함수.
etyptr search_data(int id, int index); // 해싱 테이블에서 데이터를 찾아주는 함수.
int Get_intData(); // 정수형 데이터를 받아오는 함수.
void Get_String(char *strtemp); // 문자열을 받아오는 함수.
void _strcpy(char *a, char *b); // 문자열을 복사하는 함수.
- 본문내용
-
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)
문자열을 입력받는 함수. 파라미터로 받아온 배열에 문자열을 입력받아 저장하여주는 역할을 한다.
자료평가
- 1
- lionraf***
(2007.12.10 00:45:08)
오늘 본 자료
더보기
최근 판매 자료
- 논리식의 간소화 실험보고서
- [분석화학실험] EDTA Titration (우유속의 칼슘정량) 결과레포트
- [정보통신,통신이론,솔루션,연습문제] 통신 이론 2장 솔루션 전부다
- 이재수 수문학(구미서관) 연습문제 2장
- 충북대_일반물리학및실험1_7주차_역학적에너지보존
- 전공면접, 전공 PT 면접 대비 - 기계공학과 전공 면접 기출 질문 모음(건설, 엔지니어링 등)
- [공학]토질공식
- 화학실험보고서 - 이산화탄소의 분자량
- 정보통신학개론_현재 스마트폰은 컴퓨터와 전화기의 기능이 융복합화된 IT기술의 총화라고 할 수 있습니다 본인이 가지고 있는 (관심있는) 스마트폰을 먼저 선정한 후 그 스마트폰의 사양과 특징 그리고 사용된 기술들에 대해 공부하고 조사정리한 내용을 제출하면 됩니다
- [일반화학실험보고서] 일반화학실험보고서-이산화탄소분자량
저작권 관련 사항 정보 및 게시물 내용의 진실성에 대하여 레포트샵은 보증하지 아니하며, 해당 정보 및 게시물의 저작권과 기타 법적 책임은 자료 등록자에게 있습니다. 위 정보 및 게시물 내용의 불법적 이용, 무단 전재·배포는 금지됩니다. 저작권침해, 명예훼손 등 분쟁요소 발견시 고객센터에 신고해 주시기 바랍니다.