두 개의 스택을 사용하여 큐를 구현하는 방법

작가: Laura McKinney
창조 날짜: 4 4 월 2021
업데이트 날짜: 3 칠월 2024
Anonim
18 스택으로 큐 만들기
동영상: 18 스택으로 큐 만들기

콘텐츠

대기열은 "선착순"으로 데이터에 액세스 할 수있는 동적 데이터 구조입니다. 스택은 동적 데이터 구조로, "마지막에서 처음 사용하는"프로세스에서 데이터에 액세스 할 수 있습니다. 스택을 구현하면 입력 한 마지막 항목 만 사용할 수있게됩니다. 기본 데이터 인 사용자가 입력 한 첫 번째 항목에 액세스하려면 해당 데이터를 대기열로 처리해야합니다. 이렇게하려면 두 번째 힙을 구현해야합니다.


지침

두 개의 스택을 사용하여 큐를 구현하는 것은 간단합니다. (Ablestock.com/AbleStock.com/Getty Images)

    두 개의 스택이 한 행과 같습니다.

  1. 텍스트 편집기에서 사용할 프로그래밍 언어로 사용할 수있는 절차와 함수에 따라 스택을 구현하는 코드를 작성하십시오. 이 Stack_Entry 스택을 호출하십시오. 데이터를 Stack_Entry에 넣으십시오 (많은 프로그래밍 언어가 "push"명령을 사용하여 데이터를 추가합니다). 예를 들어 Stack_Entry에서 "push"명령을 실행하면 "A", "B"및 "C"순서로 데이터를 입력 할 수 있습니다. "A"는 처음으로 들어가서 스택 맨 아래에 있습니다. 이 첫 번째 항목에 액세스하려면 데이터를 대기열로 처리해야합니다.

  2. 사용할 프로그래밍 언어에서 사용 가능한 프로 시저 및 함수에 따라 두 번째 스택을 구현하는 코드를 작성하십시오. StackSafe라고 부르십시오 (많은 프로그래밍 언어는 "pop"명령을 사용하여 스택에서 데이터를 제거합니다).

  3. Stack_Insert 스택에서 각 항목을 제거하고 Sleep Stack에 배치하십시오. 일반적으로 Stack_Input 항목을 제거하고 StackAid에 배치합니다. 그런 다음 Stack_Input이 비어 있는지 확인합니다. 비어 있지 않으면 Stack_Input에서 다음 항목을 제거하고 수면 스택에 놓습니다. Stack_Input이 비어있을 때까지 반복하십시오. 이 예에서는 Stack_Input에서 "C"를 제거하고 Stack_Aid에 넣습니다. InputPilot이 비어 있는지 확인하십시오. Stack_Input에서 "B"를 제거하고 Stack_Aid로 설정하십시오. InputPilot이 비어 있는지 확인하십시오. Stack_Input에서 "A"를 제거하고 Stack_Aid로 설정하십시오. InputPilot이 비어 있는지 확인하십시오.


  4. Stack_Path 스택이 비어 있으면 Stack_Input (이 예제에서 "A")에 있던 항목이 이제 Stack_Aside의 맨 위에 있습니다. SleepSeat 항목을 제거하면 스택이 대기열로 전환됩니다. 스택의 첫 번째 항목이 이제 꺼내 져야하는 첫 번째 항목입니다 (선입 선출, FIFO 선입 선출).

어떻게

  • 대부분의 프로그래밍 언어는 마치 벡터의 데이터를 큐 또는 스택처럼 취급하는 기능을 제공합니다. 즉, 데이터를 입력하는 끝과 관계없이 벡터의 마지막 위치와 첫 번째 위치 모두에 액세스 할 수 있습니다. 데이터가 벡터에 있으면 큐 또는 스택으로 액세스하는 것에 대해 걱정할 필요가 없습니다. 그러나 데이터가 동적 힙에 있고 대기열로 처리하려는 경우 두 번째 스택을 구현해야합니다.

필요한 것

  • 텍스트 편집기
  • 일부 프로그래밍 언어 용 컴파일러 또는 인터프리터

자궁 근종의 색전술은 근종 종양의 성장을 막을 수있는 안전한 절차입니다. 그러나 모든 수술 절차에는 합병증이있을 수 있습니다.섬유종은 일반적으로 암이 아닌 자궁의 근육 종양입니다. 매우 드문 경우이지만 웹 사이트 womenhealthmatter.ca에 따르면 빠르게 성장하는 섬유종은 암일 수 있습니다. 항상 전문적인 의학적 조언을 구하십시오.자궁 근종 색전...

상황 별 우울증의 증상

Roger Morrison

칠월 2024

적응 장애라고도하는 상황 적 우울증은 삶의 사건이나 스트레스가 많은 상황에 대한 반응으로 인해 발생합니다. 가장 일반적인 원인은 관계의 끝, 친구 또는 친척의 죽음, 중대한 삶의 변화 또는 충격적인 사건입니다. 주요 우울증과 달리 증상은 수명이 짧으며 일반적으로 환자가 사건에 적응하거나 생활 환경이 개선되는 즉시 사라집니다. 증상은 단기간 동안 심각 할 수...

새로운 기사