Page 458 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 458

22  /*--- 메인 ---*/
                     23  int main(void)
                     24  {
                     25     Menu menu;                     /* 메뉴 */
                     26     ClosedHash hash;                /* 해시 테이블 */
                     27     Initialize(&hash, 13);           /* 해시 테이블 초기화 */
                     28     do {
                     29       int result;
                     30       Member x;
                     31       Bucket *temp;
                     32       switch(menu = SelectMenu()) {
                     33          case ADD :                  /*--- 데이터 추가 ---*/
                     34             x = ScanMember("추가", MEMBER_NO | MEMBER_NAME);
                     35             result = Add(&hash, &x);
                     36             if(result)
                     37               printf("\a오류 : 추가에 실패했습니다(%s).\n",
                     38                 (result == 1) ? "등록 마침" : "메모리 부족");
                     39         break;
                     40
                     41         case DELETE :               /*--- 데이터 삭제 ---*/
                     42            x = ScanMember("삭제", MEMBER_NO);
                     43            result = Remove(&hash, &x);
                     44            if(result == 1)
                     45              printf("\a오류 : 이 번호의 데이터는 존재하지 않습니다.\n");
                     46         break;
                     47
                     48         case SEARCH :               /*--- 데이터 검색 ---*/
                     49            x = ScanMember("검색", MEMBER_NO);
                     50            temp = Search(&hash, &x);
                     51            if(temp == NULL)
                     52              printf("\a검색에 실패했습니다.\n");
                     53            else {
                     54              printf("검색에 성공했습니다. : ");
                     55              PrintLnMember(&temp->data);
                     56            }
                     57         break;
                     58
                     59         case CLEAR :                /*--- 모든 데이터 삭제 ---*/
                     60            Clear(&hash);
                     61         break;
                     62




                   458   C 알고리즘
   453   454   455   456   457   458   459   460   461   462   463