>백엔드 개발 >C++ >큐를 사용하여 스택 반전

큐를 사용하여 스택 반전

WBOY
WBOY앞으로
2023-08-26 17:01:06874검색

소개

큐와 스택은 모두 데이터를 저장하는 데 사용되는 선형 데이터 구조입니다. 스택은 LIFO 원칙을 사용하여 요소를 삽입하고 삭제합니다. 대기열은 FIFO 원칙을 사용합니다. 이 튜토리얼에서는 큐를 사용하여 스택을 뒤집는 방법을 배웁니다. 역방향이란 스택의 마지막 요소가 첫 번째 요소가 되는 것을 의미합니다.

스택이란 무엇인가요?

데이터 구조의 스택은 실제 스택에서 영감을 받았습니다. LIFO(후입선출) 논리를 사용합니다. 즉, 스택에 마지막으로 들어간 요소가 먼저 제거됩니다. 스택에서는 요소가 맨 위에서 삽입되고 맨 위에서만 제거할 수 있습니다. 스택에는 끝점이 하나만 있습니다.

실생활에서 신문을 쌓는 것은 더미의 예입니다. 더미에서 꺼낸 신문이 마지막으로 넣은 신문입니다.

스택의 기본 기능

  • push() − 위에서부터 스택 요소를 삽입합니다.

    Syntax − stack_name.push(요소 유형)

  • pop() − 스택 맨 위에서 요소를 제거합니다.

    Syntax − stack_name.pop()

  • size() − 스택의 크기를 반환합니다.

    Syntax − stack_name.size()

  • top() − 스택의 최상위 요소에 대한 참조를 반환합니다.

    Syntax − stack_name.top()

큐를 사용하여 스택 반전

큐란 무엇인가요?

데이터 구조에서 큐의 개념은 실생활의 큐에서 유래합니다. 대기열의 요소는 백엔드에서 삽입되고 프런트엔드에서 제거됩니다. 대기열의 양쪽 끝은 열려 있으며 FIFO(선입선출) 원칙에 따라 작동합니다. 이 원칙은 먼저 삽입된 요소가 대기열에서 먼저 제거된다는 것을 의미합니다.

큐의 기본 기능

  • push() − 대기열의 백엔드에 요소를 삽입합니다.

    Syntax − queue_name.push(데이터 유형)

  • pop() − 대기열 앞쪽에서 요소를 제거합니다.

    Syntax − queue_name.pop()

  • front() − 대기열의 첫 번째 요소에 대한 참조를 가져옵니다.

    Syntax − queue_name.front()

  • size() − 대기열의 크기를 반환합니다.

    Syntax − queue_name.size()

큐를 이용한 역스택

먼저, 예를 통해 스택 반전이 무엇인지 알아보겠습니다.

으아아아

Logic - 요소가 있는 스택과 빈 대기열을 사용합니다. 스택에서 요소를 하나씩 팝하고 모든 요소가 삽입될 때까지 대기열에 삽입합니다. 이제 대기열 요소가 제거되고 빈 스택에 다시 삽입됩니다. 마치다.

알고리즘

1단계: 스택에 요소를 삽입합니다.

2단계: 빈 대기열을 가져옵니다.

3단계: 스택 요소를 빈 큐에 하나씩 푸시합니다.

4단계: 이제 스택이 비어 있습니다.

5단계: 대기열에서 요소를 하나씩 팝하여 스택에 푸시합니다.

6단계: 스택이 반전됩니다.

아래 예시입니다.

으아아아

출력

으아아아

결론

큐를 사용하면 쉽게 스택을 되돌릴 수 있습니다. 스택 요소를 큐에 삽입한 다음 큐 요소를 다시 스택에 삽입합니다. 이 접근 방식을 쉽게 이해하고 구현할 수 있기를 바랍니다.

위 내용은 큐를 사용하여 스택 반전의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제