반응형

c언어 연결 리스트 (Linked lists) - 스택 (stack)

 

Stack Operation
스택 작업 간편하고 효율적인 연결 리스트 활용 방식
push 리스트 시작점에 항목 삽입
pop 시작점의 항목 제거
top (peek) 첫번째 항목 보기
isEmpty 항목 유무 확인

 

 

ex. 중간에 숫자 삽입

    numbers → [ 2,  ] →  [ 3,  ] →  [ 7,  ] →  [ 11,  ]
    int 5 삽입 (insertion)
    numbers → [ 2,  ] →  [ 3,  ] -----------→  [ 7,  ] →  [ 11,  ]
    numbers → [ 2,  ] →  [ 3,  ] →  [ 5,  ] →  [ 7,  ] →  [ 11,  ]

 

숫자 5를 리스트에 삽입하기 위한 절차


    1. 3과 7을 가지고 있는 구조체 (structures)를 찾는다.

    2. 새로운 구조체를 위한 공간 할당(allocate)

    3. 첫번째 필드를 5로 지정

    4. 두번째 필드가 7 구조체를 가리키도록 설정

    5. 3구조체의 포인터가 새로운 구조체를 가리키도록 설정


리스트 항목들이 메모리에 흩어지게 되겠지만, 각 항목이 다음 항목을 가리키도록 지정해 놓았기에 찾을 수 있다.

 

반응형