간단한 소스좀 부탁드립니당..(이진트리 일부분)
무크
학교 과제를 하고있는데요 학생 성적관리 프로그램 만드는 중입니다.. 이진트리로 구현하려고하는데(연결리스트 사용)
예를들어
이름 : 홍길똥
학번 : 201358124
영어 : 56
수학 : 27
이름 : 호날두
학번 : 201358155
영어 : 30
수학 : 85
학번순
순위 이름 학번 영어 수학
1. 호날두 201358155 30 85
2. 홍길똥 201358124 56 27
영어순
순위 이름 학번 영어 수학
1. 홍길똥 201358124 56 27
2. 호날두 201358155 30 85
수학순
순위 이름 학번 영어 수학
1. 호날두 201358155 30 85
2. 홍길똥 201358124 56 27
이게 목표입니당.. 데이터 입력, 제거 검색 등등은 할 수 있겟는데
문제는 순위거든요..
데이터입력할때 노드를 학번순으로 하면 순위도 학번순 밖에 안나오고..
그럼 영어, 수학의 순위를 출력하려면 어떻게 해야하는지 도저히 모르겟네요..
데이터 입력하는 부분(노드생성!)만 소스좀 간단하게 부탁드립니다.. (순위출력할때 학번순, 영어,수학순 각각 표현할수있도록)
-
핫팬츠
음... 데이터를 입력받을때 큐에 저장을 해두고 (데이터 삭제 안하고)
학번/영어/수학 의 순위대로 각각 함수를 구현을 하는건 어떨까요?
학번함수를 돌리면 큐에서 데이터를 꺼내서 학번에 맞는 트리를 만들고
영어함수를 돌리면 큐에서 데이터를 꺼내서 영어에 맞는 트리를 만들고
수학함수를 돌리면 큐에서 데이터를 꺼내서 수학에 맞는 트리를 만들고
출력은 선택지로 선택하면 되고. -
도도한
힘드네요 ㅠㅠ
-
조으다
그렇다면 어떤방식으로 짜는게 가장 효율적일까요..?
-
꽃초롱
입력할때 만약 학번순으로 입력을 했다면 학번에 대해서는 순서가 잘 되어있지만
이대로 영어점수에 대해 순위를 매기려 한다면 가장 큰 영어점수를 찾기위해 모든 트리의 데이터를 다 돈 후 그 값을 제거하고 다음 순위를 위해 계속 돌린다면 데이터 개수만큼 루프를 돌아요.
구현이 힘들지는 않지만 굉장히 번거로울듯 합니다..;; -
목화
데이터 입력부터 받고 탐색을 하려고 하면 순서가 엉망이기때문에 모든 트리를 데이터 개수만큼 돌려야 해서 굉장히 복잡하고 비효율적일거 같네요...//
-
데이비드
이 글은 요청게시판이 더 잘 어울립니다.