자료구조론 프로젝트1 중간프로젝트 인하대
- 최초 등록일
- 2021.08.31
- 최종 저작일
- 2021.01
- 12페이지/ MS 워드
- 가격 2,000원
소개글
"자료구조론 프로젝트1 중간프로젝트 인하대"에 대한 내용입니다.
목차
1. 헤더 file (tree.h)
2. 구현 file (tree.cpp)
3. 드라이브 file (main.cpp)
4. Discussions
본문내용
1. 헤더 file (tree.h)
우선 header file 부터 살펴보자. 가족 구성원의 정보를 저장하는 자료형을 사용하기 위해 human 클래스를 선언해주었다. human 클래스는 이름을 저장하는 name과 세대를 저장하는 gen을 가지고 있다. 클래스로 선언했기 때문에 원하는 정보가 있다면 추가로 선언해서 구현할 수 있다. 이번 프로젝트에는 세대와 이름 정보만 필요하기 때문에 위와같이 선언했다. 이후 트리 구성을 위해 Tree 클래스를 선언했고 human 클래스의 public 멤버를 상속받았다. 트리의 노드(가족구성원) 구성을 위해 Node구조를 구현했다. 각 Node는 Node 포인터 child와 sibling, parent을 가지는데 child는 자식, sibling은 형제, parent는 부모를 의미한다. 부모 노드에 자식을 추가하고 자식 노드에 형제를 이어 붙이는 방식으로 구현했다.
public 멤버 함수로 노드 생성부터 추가, 출력 등의 다양한 함수들을 선언해주었다.
각각의 함수와 코드에 대한 자세한 설명은 모두 주석으로 작성했다.
2. 구현 file (tree.cpp)
우선 header file인 tree.h를 상속받고 Node의 생성자를 구현했다. Node의 생성자는 string 타입 name과 int 타입 gen을 인자로 받아 human 타입 info를 초기화 하고(human 생성자 사용) child와 sibling, parent를 모두 NULL로 초기화 한다.
newNode 함수는 새로운 노드를 생성하는 함수로 Node* 타입의 반환형을 가지며 인자로 string 타입 name과 int 타입 gen을 입력 받는다. 마찬가지로 새로운 노드에 새 메모리를 할당하고, Node생성자와 비슷하게 Node의 멤버들을 초기화 한다. 이후 새로 만든 노드를 반환한다.
root함수는 최상위 노드로 사용되는 ROOT를 반환하는 함수다.
setRoot는 입력 받은 노드를 ROOT로 지정하는 함수다.
참고 자료
없음