스택과는 달리 먼저 들어온 넘이 젤 먼처 갑니다. 예를 들어 택시타기위해서 줄을 서 보셨져...

(지킬건 지키자는 광고도 있는데 ㅡㅡ;;) 그럼 여기서 제일 먼저 온 넘이 택시에 먼저타는걸 보시거나 직접 그렇게 하셨을 겁니다. FIFO(first-in first-out) 먼저 온넘이 먼저 간다는 영어군여...

그럼 실제적으로 어떻게 돌아가는 함 보자구여 ^^*

 

제가 자주쓰는 리스트형으로 큐를 보여드리져~

 

>>> list=[]

..중략..4개 넣었습니다.

>>> list

['1', 'Python', 'Hahaha', 'Queue']

 

그럼 여기서 가장 먼저 들어가 있는 넘을 뺄려면...? 번지수로 빼면 되겠습니다.

간단합니다.

 

>>> list.pop(0)

'1'

>>> list

['Python', 'Hahaha', 'Queue']

>>>

 

*^^* 너무 간단해서 드릴 말씀이 없네여... 이게 큐 입니다.

이제 스택과 큐에 차이점을 아셨떠여~?

 

그럼 아주 허접한 스택 & 큐에 파이썬 구현이 있겠습니다.

너무 허접하다고 놀리지 마시길...ㅠㅠ

 

b=[]

e=[]

 

def main():

 

    global c

    print '*'*34

    print '* Stack is First input Last  out *'

    print '* Queue is First input First out *'

    print '*'*34

    print '1. Insert Stack'

    print '2. Delete Stack'

    print '3. Show Stack'

    print '4. Insert Queue'

    print '5. Delete Queue'

    print '6. Show Queue'

    print '7. EXIT'

    print 'Do you choice Number = ',

    c = raw_input()

                                             

    if c == '1':

        insert_stack()

    elif c == '2':

       delete_stack()

    elif c == '3':

       recent_stack()

    elif c == '4':

       insert_queue()

    elif c == '5':

       delete_queue()

    elif c == '6':

       recent_queue()

    else:

       ex()

 

def insert_stack():

    print 'Input to the Stack'

    a = raw_input('--> ')

    b.append(a)

    main()

 

def delete_stack():

    d = len(b) - 1

    del b[d:]

    print 'Last Stack Delete'

    print 'Recent Stack is ',

    print b

    main()

 

def recent_stack():

    print 'Recent Stack'

    print b

    main()

 

def insert_queue():

    print 'Insert to the Queue'

    a = raw_input('--> ')

    e.append(a)

    main()

 

def delete_queue():

    del e[0]  ## e.pop(0) 같아여~ ^^

    print 'First Queue Delete'

    print 'Recent Queue is ',

    print e

    main()

   

def recent_queue():

    print 'Recent Queue'

    print e

    main()

  

def ex():

    pass

 

main()

 

 

 여기까지 입니다. 궁금하신 사항은 메일 주십쇼

 그럼 이만... ^^;

 다음엔 더 재미있고 실용적인걸 올리고 싶군여...

将把此主题..