3. 자료구조

    1. 배열을 이용한 STACK

    PUSH (stack, top, item, max)

    // stack -> 배열, top -> 스택의 맨 위, item -> 집어넣을 값, max -> 최대 스택

    if(top == max){

    exit 0

    }

    stack[top++] = item


    POP (stack, top, item)

    if(top == 0){

    exit 0

    }

    item = stack[top--]


    2. 단순연결리스트를 이용한 STACK

    PUSH(top, item)

    CALL GETNODE(I)

    I->link=top

    top=I


    POP(top, item)

    tmp = top

    item = tmp->data

    top = tmp->link

    CALL RET(tmp)


    3. PREFIX, POSTFIX, INFIX

    infix : 연산자 중심으로 양쪽에 피연산자가 위치한다. [a+b]

    prefix : 연산자가 제일 앞에오고 피연산자가 연달아 위치한다. [+ab]

    postfix : 피연산자가 연달아 위치하고 연산자가 제일 뒤 [ab+]


    EX )

    infix : A * B / C * ( D + E ) ^A 라고할때

    postfix : 

    A * B / C * ( ( D + E) ^ A )

    ( A * B ) / C * ( ( D + E) ^ A )

    (( A * B ) / C ) * ( ( D + E) ^ A )

    ((( A * B ) / C ) * ( ( D + E) ^ A ))

    AB*C/DE+A^*


    A=1

    B=2

    C=3

    D=4

    E=5


    postfix와 infix의 결과값은 같게 나온다


    prifix :

    A * B / C * ( D + E ) ^ A

    ((( A * B ) / C ) * ( ( D + E) ^ A ))

    /*ABC*^+DEA


    prifix의 결과값도 위것들과 동일하게 나온다.

    ' > 자료구조' 카테고리의 다른 글

    3. 자료구조  (0) 2017.11.15
    2. 자료구조  (0) 2017.11.08
    1. 자료구조  (0) 2017.11.01
    2. 자료구조  (0) 2017.09.28
    1. 자료구조  (0) 2017.09.25
    Posted by Config