데이터 구조 실험의 검색 3: 나무의 종류 통계 - (트 리 방법 과 map 방법 찾기)
3634 단어 데이터 구조
Input
테스트 데 이 터 를 입력 하 십시오.데이터 의 첫 번 째 줄 은 정수 N (n < = 100000) 을 제시 하고 N 은 나무의 수량 을 표시 합 니 다.이 어 N 줄 은 위성 이 관측 하 는 나무의 종류 이름 을 줄 마다 제시 했다. 나무의 이름 은 20 자 를 넘 지 않 는 문자열 이 고 문자열 은 영문 자모 와 빈 칸 으로 이 루어 져 대소 문 자 를 구분 하지 않 는 다.
Output
사전 순서에 따라 각종 나무의 종류 이름과 그 가 차지 하 는 백분율 을 출력 합 니 다. 중간 에 빈 칸 으로 간격 을 두 고 소수점 뒤에 두 개의 작은 수 를 유지 합 니 다.
Example Input
2
This is an Appletree
this is an appletree
Example Output
this is an appletree 100.00%
이 문 제 를 보 는 첫 번 째 아 이 디 어 는 맵 배열 을 이용 하여 일일이 비 추 는 것 입 니 다. 누가 stl 함 수 를 사용 하 는 지 테스트 할 수 없 기 때문에 먼저 정상 적 인 방법 인 가중 두 갈래 로 나 무 를 찾 는 방법 을 사용 합 니 다.
원리: 사전 순서에 따라 이 진 트 리 를 출력 하기 때문에 문자열 을 기반 으로 한 트 리 입 니 다.
삽입 규칙 은 삽 입 된 노드 의 문자열 이 문자열 비교 함수 strcmp () 에서 루트 값 root - > name 과 비교 하고 작은 것 은 루트 의 왼쪽 아이 에 게, 큰 것 은 오른쪽 아이 에 게, 루트 값 과 같 으 면 루트 값 의 가중치 + 입 니 다.
코드 는 다음 과 같 습 니 다:
#include
#include
#include
2:map 함수 맵 을 이용 하여 문자열 과 숫자의 일 일 대응 을 실현 하고 mp [1] = str1 mp [2] = str 2... 새로운 꼬치 strn 이 오 면 mp [1] - mp [k] (모두 k 개) 를 일치 시 킵 니 다. 이 문자열 이 포함 되 어 있 으 면 통 배열 함수 num [x] + (when - > map [x] = strn), 그렇지 않 으 면 mp [k + 1] = strn
이렇게 완성 한 후, 거품 정렬 을 이용 하여 mp [i] 배열 을 작은 것 부터 큰 것 까지 정렬 합 니 다 (num 배열 도 변화 에 따라 야 합 니 다)
그리고 출력 하면 됩 니 다. 코드 는 다음 과 같 습 니 다.
#include
#include
#include
#include
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.