기초과목/자료구조
[C/C++] 스택 (Stack) 구현
지수코딩
2019. 5. 21. 17:52
풀 코드는 아래 링크에서 확인하실 수 있습니다!
(피드백 환영합니다!)
https://github.com/Sjisoo/DataStructure/blob/master/Stack/Stack.c
Sjisoo/DataStructure
Contribute to Sjisoo/DataStructure development by creating an account on GitHub.
github.com
구조체 생성!
element: 현 노드에 담고 있는 값
*link: 이전 노드(현 노드 아래에 쌓여있는)의 주소 값
Stack에 데이터 Push(저장)
push라는 함수를 사용해 새로운 데이터를 stack에 추가
가장 최근에 저장된 데이터의 주소(top)를 makeNode라는 함수로 새로운 값을 갖는 노드 생성
새로 업데이트 된 top의 link 포인터에 저장
Stack에서 데이터 Pop(삭제)
top에 데이터가 존재한다면
가장 최근에 저장된 데이터의 주소(top)의 link 포인터를 top에 할당
&& 기존 top(originTop)에 할당된 메모리 해제
Stack에서 맨 위 데이터 출력하는 함수
(C++에서 top() 역할)
Stack에 저장된 모든 데이터 top부터 끝까지 출력
반응형