출력 예 : 재귀 적 Java 솔루션 :
우리의 접근 방식은 재귀를 사용하여 스택을 효율적으로 정렬합니다. 프로세스에는 다음과 같은 단계가 포함됩니다
메소드 : 이 재귀 메소드는 입력 스택에서 비어있을 때까지 요소를 반복적으로 제거합니다. 제거 된 각 요소는 일시적으로 저장되고 메소드는 나머지 스택에서 재귀 적으로 호출됩니다.
<code>Original Stack: [4, 2, 9, 7]</code>
헬퍼 메소드 : 이 메소드는 임시로 제거 된 요소의 삽입을 스택에 다시 스택에 삽입하여 내림차순을 유지합니다. 스택이 비어 있는지 또는 삽입 할 요소가 현재 상단 요소보다 큽니다. 두 조건 중 하나라면 요소가 스택으로 밀려 나옵니다. 그렇지 않으면 상단 요소가 일시적으로 제거되고 가 재귀 적으로 호출 된 다음 임시로 제거 된 요소가 뒤로 밀립니다.
메인 메소드 : 메소드는 샘플 스택을 생성하고 전화를 걸려서 정렬 한 다음 분류 된 스택을 인쇄합니다.<code>Sorted Stack in Descending Order: [9, 7, 4, 2]</code>
시간과 공간 복잡성 :
공간 복잡성 : o (n) 재귀 통화 스택으로 인한
sortStack(Stack<integer> stack)</integer>
위 내용은 스택의 요소를 내림차순으로 정렬하는 Java 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!