Knowledge Map

DataStructure in Python[큐&스택] 본문

PYTHON

DataStructure in Python[큐&스택]

2016. 5. 7. 11:31

출처 : http://onestep.tistory.com/39


STACK

스택 : 데이터 입/출력이 한쪽으로만 하는 자료구조이다. LIFO구조이다.

PUSH : 가장 최근 데이터 위에 데이터 입력

POP : 가장 최근 데이터 부터 빼냄



파이썬에는 내장 자료형인 리스트 형이 스택을 표현하는데 사용된다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#-*- coding: UTF-8 -*-
# python 2.7
 
# Stack 스택 : LIFO 구조이다.
# PUSH : 최상단 데이터 위에 자료를 입력
# POP : 최상단 데이터를 빼오는 것
 
def Main():
    stack = [1,2,3,4,5]
    print "push 하기전==>",stack
 
    stack.append("a")
    stack.append("b")
    stack.append("c")
    print "\npush로 입력한 상태==>",stack
    print "\npop을 이용==>",
    while stack:
        print stack.pop(),
    print "\n\npop으로 데이터를 전부 빼온 후==>",stack
 
print "==="*10,"stack","==="*10
Main()
cs


출력 값












 
============================== stack ==============================
 
push 하기전==> [1, 2, 3, 4, 5]
 
push로 입력한 상태==> [1, 2, 3, 4, 5, 'a', 'b', 'c']
 
pop을 이용==> c b a 5 4 3 2 1 
 
pop으로 데이터를 전부 빼온 후==> []
cs



QUEUE


스택 : 데이터 입/출력이 양쪽에서 하는 자료구조이다. FIFO구조이다.

PUT : 자료를 입력한다.

GET : 자료를 출력한다.






1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Queue 큐 : FIFO구조이다.
# PUT : 데이터를 입력하는 동작
# GET : 데이터를 빼내는 동작
 
def Main2():
    queue = [1,2,3,4,5]
    print "처음 queue 상태==>",queue
    queue.append('a')
    queue.append('b')
    queue.append('c')
    queue.append('d')
    queue.append('e')
    print "\nPUT으로 입력한 상태 ==>",queue
    print "\nGET으로 출력==>",
    while queue:
        print queue.pop(0),
    print "\n\nGET으로 출력 뒤의 데이터==>",
    print queue
 
print "\n","==="*10,"queue","==="*10
Main2()
cs



1
2
3
4
5
6
7
8
============================== queue ==============================
처음 queue 상태==> [1, 2, 3, 4, 5]
 
PUT으로 입력한 상태 ==> [1, 2, 3, 4, 5, 'a', 'b', 'c', 'd', 'e']
 
GET으로 출력==> 1 2 3 4 5 a b c d e 
 
GET으로 출력 뒤의 데이터==> []
cs


'PYTHON' 카테고리의 다른 글

DataStructure in Python[Bubble Sort]  (0) 2016.05.08
DataStructure in Python[Selection Sort]  (0) 2016.05.07
DataStructure in Python[연결리스트]  (0) 2016.05.02
lxml, python-docx 설치 관련  (0) 2016.04.30
파이썬 자료 구조  (0) 2016.04.30
Comments