python 진급 노트 (3) - 대기 열

python 진급 노트 (2) - 대기 열
  • 개념
  • 상용 방법

  • 콘 셉 트
    대기 열 (queue) 은 선진 적 인 선 출 특징 을 가 진 선형 데이터 구조 로 요소 의 추 가 는 한 끝 에서 만 할 수 있 고 요소 의 삭 제 는 다른 한 끝 에서 만 할 수 있다.슈퍼마켓 에서 줄 을 서서 계산 하고 먼저 온 사람 이 먼저 계산 한 다음 에 대열 을 떠 나 는 것 과 비슷 하 다.비교적 공식 적 으로 는 새로 온 사람 은 팀 의 마지막 에 줄 을 서서 입 대 를 할 수 밖 에 없고, 팀 을 나 가 는 것 은 팀 의 첫 번 째 부터 시작 한 다 는 것 이다.
    그러나 실제 작업 에서 (아래 코드 참조) 입 대 (enqueue () 방법) 는 색인 값 이 0 인 곳 에서 대기 열 머리 에 요 소 를 추가 하 는 것 이 고, 출 대 는 pop () 방법, 즉 대기 열 꼬리 에서 요소 팝 업 (삭제) 을 사용 합 니 다.
    상용 방법
  • is_empty () 대기 열 이 비어 있 는 지 판단 하기
  • enqueue (item) 요소 item 입단
  • dequeue () 원소 출대
  • size () 대기 열 크기
  • class Queue():
        """  """
        def __init__(self):
            """     """
            self.items = []
    
        def is_empty(self):
            """        """
            return self.items == []
    
        def enqueue(self,item):
            """   """
            self.items.insert(0,item)
    
        def dequeue(self):
            """   """
            return self.items.pop()
    
        def size(self):
            """      """
            return len(self.items)
    
    if __name__ == '__main__':
        q = Queue()
        q.enqueue(1)
        q.enqueue('a')
        q.enqueue('asf')
        q.enqueue('  ')
        q.enqueue('%&(')
        print(q.size())
        print(q.dequeue())
        print(q.dequeue())
        print(q.dequeue())
        print(q.dequeue())
        print(q.dequeue())
    
    

    좋은 웹페이지 즐겨찾기