두 갈래 정렬 트 리 에 대해 루트 노드 를 만 들 고 되 돌려 줍 니 다.
1321 단어 ACM
재 귀 함수 반환 값 만 사용 하면 됩 니 다.
이 진 트 리 만 들 기
struct T{
int x;
T *lchild,*rchild;
};
T* init(T* &t){// t t=NULL;e==0
int e;
scanf("%d",&e);
if(e==0)t=NULL;
else {
t=new T;
t->x=e;
init(t->lchild);
init(t->rchild);
}
return t;
}
여기 지침,지침 의 인용 을 소개 합 니 다.
함수 매개 변 수 는 전송 값 을 전달 합 니 다.지침 은 주소 로 전달 되 기 때문에 형 참여 실 삼 은 공동으로 변 수 를 가리 키 고 형 삼 의 값 을 수정 하면 변수의 값 도 수정 되 었 습 니 다.
출력 은 헤드 가 가리 키 는 변수,즉 변수 p 의 값 을 수정 한 것 을 설명 한다.
인용 을 더 하 는 것 은 사실 포인터 에 해당 하 는 효과 입 니 다.아래 를 보 세 요.
4.567913.첫 번 째 와 세 번 째 값 을 수정 하면 인용 이 지침 의 편리 한 방식 으로 이해 할 수 있다.
4.567913.요약 하면 다음 과 같다.형 삼 은 T&t 이 고 실제 인삼 의 값 을 수정 한 것 이다.형 삼 은 T*t 이 고 실제 인삼 주소 가 가리 키 는 변수의 값 을 수정 합 니 다.형 삼 은 T*&t 이 고 실제 인삼 의 값,즉 지침 의 값 을 수정 합 니 다.
따라서 데이터 구조 과정 에서 재 귀적 으로 트 리 를 만 들 때(예 를 들 어 첫 번 째 코드)인용 을 추가 하지 않 으 면 재 귀적 함수 의 첫 번 째 층 에서 트 리 의 값 x 를 수정 합 니 다.서브 트 리 를 만 들 때 뿌리 노드 의 아이 가^를 저장 하기 때문에 함수 호출 시^만 들 어 왔 습 니 다. ^가 가리 키 는 내용 을 수정 하면 당연히 쓸모 가 없다.
동적 트 리 를 참조 하지 않 아 도 됩 니 다.
4.567913.입력 은 0 으로 끝 납 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
hdu 1233 절 대 컴퓨터 대학원 재시험모 성에 서 마을 의 교통 상황 을 조사 하여 얻 은 통계표 에는 임의의 두 마을 간 의 거리 가 열거 되 어 있다.성 정부의 '원활 한 공사' 목 표 는 성 전체의 어느 두 마을 간 에 도 도로 교통 을 실현 할 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.