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

작가: Laura McKinney
창조 날짜: 4 4 월 2021
업데이트 날짜: 19 십일월 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 선입 선출).

어떻게

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

필요한 것

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

애도의 일본 의식

Peter Berry

십일월 2024

애도 의례는 사랑하는 사람들의 죽음을 다루는 공개적이고 사적인 방법입니다. 이러한 의식의 역할은 잃어버린 사람들의 삶에 손실을 통합하고 죽음에서 회복되도록 돕는 것입니다. 각 문화마다 장례 의식과 슬픔을 지니고 있습니다. 각 문화에는 장례식과 애도의 방법이 있습니다. (조지 도일 / tockbyte / 게티 이미지) 현재 일본의 약 9 천만 명의 사람들이 ...

강아지의 감각은 한 번에 하나씩 개발됩니다. 강아지는 먼저 세계에 대해 냄새, 시력으로 배우고 마침내 귀를 통해 세계와 조화를 이룹니다. 그들은 4 주 전쯤에 그들의 입으로 사교와 탐험을 시작합니다. 이 행동은 모든 품종에서 정상이며 성적 성숙을 계속할 것입니다. 그러나 이것은 강아지에게 바람직하지 않거나 안전하지 않은 물체를 물릴 수 있습니다. 행동이 끊...

권장