자료구조와 알고리즘 (2) 썸네일형 리스트형 스택(Stack) - 배열로 구현하기 스택은 쌓아올린것을 뜻합니다. 일반적으로 쌓아 올린 것은 밑에서 부터 빼면 균형이 무너지지요. 식당에 컵을 보관하는 장치를 떠올려 보면 편합니다. 이러한 컵 보관함은 아래에 있는 컵을 꺼내려면 위에 있는 컵을 제거 해야만 합니다. 또는 이런 주차장을 상상해 보면 됩니다. 가장 안쪽에 있는 자동차가 나가려면 앞에 있는 차들을 모두 빼야 합니다. 전에 제가 일했던 회사에서는 주차장이 작고 이중삼중주차가 일상인 곳이라 모두 차키를 차안에 두고 다녔던 기억이 있네요. 스택은 삽입과 제거 연산이 핵심입니다. 삽입은 맨 위에 하나를 더 쌓는 일이고, 제거는 맨위에 있는 데이터를 하나 걷어 내는 일이죠. 배열기반으로 먼저 스택을 구현 해 보겠습니다. 배열 기반으로 스택 구현하기 배열 기반의 Stack인 ArraySt.. List 기본 한빛 소프트 [이것이 자료구조 + 알고리즘이다. with C언어, 박상현 저] 책을 참고해서 공부 한 내용을 정리한 것입니다. List는 목록이라는 뜻을 가지고 있습니다. 리스트를 이루는 개별 요소들을 Node 라고 부릅니다. 노드(Node) 개념은 자료구조에서 계속 등장하는 개념이니 숨쉬듯이 써야 합니다. 리스트에서 첫번째 노드는 Head 라고 부릅니다. 마지막 노드는 Tail 이라고 부르죠. 리스트가 갖춰야 할 연산은 5가지가 있습니다. CreateNode (노드 생성) DestoryNode (노드 파괴) AppenNode (노드 추가) RemoveNode (노드 제거) InsertNode / Insert NewHead (노드 삽입) 단어 뜻을 보면 append는 맨 뒤에 덧붙이는 것이고, Inser.. 이전 1 다음