주어진 스택의 상단 및 하단 요소를 찾는 Java 프로그램
이 튜토리얼은 Java를 사용하여 주어진 스택의 상단 및 하단 요소를 찾는 방법을 설명합니다.
- 원리를 따르는 선형 데이터 세트를 나타냅니다. 따라서 동일한 위치에서 요소가 추가되고 제거됩니다. 우리는 주어진 스택의 상단과 하단 요소를 찾는 두 가지 방법, 즉 반복
- maxsize 로 초기화하고 5는 5이고 상단 세트는 -1입니다.
스택 크기가 최대 크기를 초과하지 않는지 확인하십시오. 푸시 () 함수를 사용하여 각 정수 값을 스택에서 밀고 상단을 1로 증가시키고 stackarray [top] 에 값을 저장하십시오. - (하단 요소), 그렇지 않으면 함수는 인덱스가 1만큼 감소하여 재귀 적으로 호출됩니다.
인덱스가 0으로 설정된 상단 요소를 찾으십시오. 기본 경우, 현재 인덱스가 최상위 값과 같으면 stackarray [top] 가 반환됩니다. 그렇지 않으면, 함수는 1에 의해 증가 된 인덱스를 사용하여 재귀 적으로 호출된다. 는 stackarray [] 의 모든 요소를 재귀 적으로 인쇄합니다. 기본 사례는 인덱스가 0보다 작 으면 재귀가 중지된다는 것입니다. 그렇지 않으면 함수를 호출하고 1만큼 감소한 색인으로 정수 값을 재귀 적으로 인쇄하십시오. - 메인 함수 를 호출하고 전체 스택뿐만 아니라 상단 및 하단 요소를 인쇄하십시오.
- 예 다음은 재귀 방법을 사용하여 주어진 스택의 상단 및 하단 요소를 찾는 Java 프로그램입니다. 출력 시간 복잡성 : 총계는 O (n)입니다. 요소는 크기 n의 스택 형성 동안 푸시 () 작업에 O (1)을 소비하기 때문에 O (n)은 O (n)입니다. 최악의 경우, 재귀 작업 비용은 O (n)입니다.
- 공간 복잡성 : 재귀 콜 스택으로 인해 재귀 적으로 O (n)입니다. 배열 자체는 O (n)을 사용하여 N 요소를 저장합니다. 결론
- 간단히 말해서, 두 방법 모두 해당 사례에 적용 할 수 있으며, 여기서 직접 배열 방법은 스택 요소에 대한 일정한 시간 액세스 및 간단한 대화식 구현을 제공합니다. 반면, 재귀 적 방법은 스택 작업에 대한 재귀 적 관점을 제공하여보다 일반적이고 알고리즘 방법을 강조합니다. 이 두 가지 방법을 이해하면 스택의 기본 사항과 두 가지 방법 중 어느시기를 사용할 수 있습니다.
및
재귀 적으로를 찾는 두 가지 방법을 탐색 할 것입니다. 문제 문자 우리는 n 요소가 포함 된 스택 어레이를 얻을 수 있으며, 스택의 첫 번째와 n 번째 요소를 찾는 것입니다. 따라서 사용자 지정 스택에서 반복 메소드 및 재귀 메소드 를 사용하여 원래 스택이 변경되지 않도록해야합니다.
1 를 입력하십시오
출력 1 2 를 입력하십시오
출력 2상단 및 하단 요소를 찾는 반복 방법
<code>stack = [5, 10, 15, 20, 25, 30]</code>
maxsize 값으로 6과 동일하고 상단을 -1로 설정합니다 (빈 배열을 나타냅니다). 요소 5, 10, 15, 20, 25 및 30을 푸시 () 작동에 의해 스택에 누르고,
stackarray [top] 에서 최고 값을 증가시킵니다.<code>堆栈中的顶部元素是 --> 30 堆栈中的底部元素是 --> 5</code>
<code>stack = [1000, 2000, 3000, 4000, 5000]</code>
예 다음은 주어진 스택의 상단 및 하단 요소를 찾기 위해 반복 방법을 사용하는 Java 프로그램입니다.
출력<code>堆栈元素:5000 4000 3000 2000 1000 底部元素:1000 顶部元素:5000</code>
시간 복잡성 : o (n) 스택 형성 중 (압력) 동안 각 요소가 배열 끝에 추가되고 크기 n까지 인덱스가 매번 1 증가하기 때문입니다. o (1) 엿보기 및 하단 작업 중에 StackArray [Top] 및 StackArray [0]를 반환하기 때문에.
공간 복잡성 : o (n). 스택 크기에 비례하여 n 요소를 저장하기 위해 maxsize를 고정하기 때문입니다.
위 내용은 주어진 스택의 상단 및 하단 요소를 찾는 Java 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Java의 난수 생성기 안내. 여기서는 예제를 통해 Java의 함수와 예제를 통해 두 가지 다른 생성기에 대해 설명합니다.

Java의 Weka 가이드. 여기에서는 소개, weka java 사용 방법, 플랫폼 유형 및 장점을 예제와 함께 설명합니다.

Java의 Smith Number 가이드. 여기서는 정의, Java에서 스미스 번호를 확인하는 방법에 대해 논의합니다. 코드 구현의 예.

이 기사에서는 가장 많이 묻는 Java Spring 면접 질문과 자세한 답변을 보관했습니다. 그래야 면접에 합격할 수 있습니다.

Java 8은 스트림 API를 소개하여 데이터 컬렉션을 처리하는 강력하고 표현적인 방법을 제공합니다. 그러나 스트림을 사용할 때 일반적인 질문은 다음과 같은 것입니다. 기존 루프는 조기 중단 또는 반환을 허용하지만 스트림의 Foreach 메소드는이 방법을 직접 지원하지 않습니다. 이 기사는 이유를 설명하고 스트림 처리 시스템에서 조기 종료를 구현하기위한 대체 방법을 탐색합니다. 추가 읽기 : Java Stream API 개선 스트림 foreach를 이해하십시오 Foreach 메소드는 스트림의 각 요소에서 하나의 작업을 수행하는 터미널 작동입니다. 디자인 의도입니다

Java의 TimeStamp to Date 안내. 여기서는 소개와 예제와 함께 Java에서 타임스탬프를 날짜로 변환하는 방법에 대해서도 설명합니다.
