본문 바로가기

전체 글72

[자료구조] 연결 리스트(Linked list)와 구현 (1) 연결 리스트(Linked list) 연결 리스트란 데이터(data)와 링크(link)로 구성된 개별의 노드(Node)로 연결되어 있는 자료 구조이다. 데이터(data)는 정수, 실수, 문자열 등 말 그대로 데이터를 담고 있고, 링크(link)는 다음 노드를 가리키는 포인터이다. 노드(node)는 데이터와 링크로 이루어진 연결 리스트 구성 단위로써, 연결 리스트의 각 노드들은 이 링크로 연결되어진다. 연결 리스트의 종류 단순 연결 리스트 다음 노드에 대한 링크만 가지고 있으며, 한쪽 방향으로만 순회가 가능하다 이중 연결 리스트 이전 노드와 다음 노드에 대한 링크를 가지고 있으며, 양방향 순회가 가능하다 원형 연결 리스트 연결 리스트의 마지막 노드 링크가 처음 노드를 가리키도록 구성한 연결 리스트이며, 처음.. 2022. 6. 26.
[자료구조] 스택(Stack)개념, 구현 스택(Stack)이란? 톱(Top)이라고 하는 한 쪽 끝에서 모든 삽입과 삭제가 일어나는 순서 리스트이다. 스택에서는 가장 마지막으로 삽입된 원소가 가장 먼저 삭제되는 LIFO(Last-In-First-Out)의 성질을 가진다. 예를 들어, 원소 A, B, C ,D 를 순서대로 스택에 삽입했다고 하면, 다음과 같은 상태가 된다 여기서, 스택의 원소를 삭제해보자. 제일 마지막에 삽입된 원소는 Top에 위치한 "D" 이기 때문에, D가 삭제된다 원소 D는 삭제되고, C가 top 원소가 되었다. 이 상태에서 다시 원소를 삽입하면 다음과 같은 상태가 된다. 스택(Stack)의 구현 위에서 알아본 스택을 c++로 구현해보았다. 배열을 이용해서 진행하였다. stack.hpp #ifndef stack_hpp #def.. 2022. 6. 12.