[파일처리] 2-Way Merge를 구현하여 파일 정렬

등록일 2003.07.20 압축파일 (zip) | 1페이지 | 가격 1,200원

소개글

c++로 구현하였습니다 사용환경(비주얼스튜디오6.0)
코딩한 소스와 input, output파일 모두 넣어뒀습니다.
그냥 머쥐 정렬알고리즘도 이것보구 편집 조금하시면 될듯..^^

소스 내용은
100 byte 레코드 10000개의 파일을 정렬 시킴
정렬시 0.27초
1단계 합병시 0.531초
2단계 합병시 0.52초
총 1.321 초가 결렸습니다.

목차

첨부파일목록

main.cpp // 소스 파일
input.txt // 초기 미 정렬시 파일
2waymerge.hwp // 리포트 설명이 되어있는 한글 파일
1-100개씩정렬후.txt // 100개씩 정렬하고 나서 바뀐 파일
2-1단계합병후.txt // 1단계합병이 끝난후 파일
3-2단계합병후.txt // 2단계합병이 끝난 최종 파일
4-2단계합병후-enter포함.txt // 정렬이 됬는지 볼수 있도록 enter 포함 출력

본문내용

3. 설명
필드 크기를 6 29 65로 잡았습니다. 5 30 65로 잡을시 모든 Name 필드가 처음 문자가 공백으로 시작하여서 에러가 났습니다.
그리고, 단지 2번째 필드인 Name 필드를 이용하여 정렬시켰습니다. 이름이 같은 경우가 많은데 이 경우 고려하지 않고 출력되도록 하였습니다.
void Heap::fwrite(int t) 메쏘드에서 /* */ 부분을 삭제하면 엔터값이 포함된 최종 파일을 보실수 있습니다.
main 바로 위의 void trand(Data& a, Data& b) 함수는 두곳에서 프랜드 함수로 쓰였습니다. 기능은 Data a를 Data b에 복사하는 함수입니다.
클래스 Data는 100btye 레코드를 저장하는 클래스입니다.
클래스 DataSort는 100개씩 데이터를 정렬하려고 KeySort를 약간 응용하여 코딩했습니다.
클래스 Heap은 1단계, 2단계 합병을 이용하려고 작성한 클래스입니다.
기본적으로 heap insert delete 기능을 구현하고,
추가로 1단계 합병시 start , exe 메쏘드 2단계 합병시 restart, reexe, 기능등이 있습니다.

      최근 구매한 회원 학교정보 보기
      1. 최근 2주간 다운받은 회원수와 학교정보이며
         구매한 본인의 구매정보도 함께 표시됩니다.
      2. 매시 정각마다 업데이트 됩니다. (02:00 ~ 21:00)
      3. 구매자의 학교정보가 없는 경우 기타로 표시됩니다.
      최근 본 자료더보기
      추천도서