본문 바로가기

자료구조2

Linked List 구현하기 선형적인 특징을 가진 Linked List 구현을 해보게씀다..! 선형적이라는 것은 선처럼 일자로 데이터의 배열이 되어 있다는 것이죠! Linked List를 구현하기 위해선 데이터가 되는 Node를 우선 구현해야하고, 그 노드들을 탐색하며 데이터를 추가하거나, 지우기 위한 manager 역할을 하는 Linked List를 만들어 줄껍니다! ## 기본적인 Linked List를 알고 있다고 가정하고 만들게씀다! 우선 Linked List에 필요한 Node는 아래와 같이 자신의 데이터를 가지고 있고, 자신 다음의 Linked된 데이터를 가지기 위한 next를 가지고 있어야 합니다! 위와 같은 모습을 만들어주기 위해 Node를 우선 구현해 줍시다! class Node { var data: T var next.. 2023. 1. 16.
Queue 구현하기 Stack에 이은 Queue 구현입니다! Queue는 FIFO(First In First Out) 혹은 LILO(Last In Last Out)이라는 특징을 가진 자료구조입니다. Stack의 경우에 들어오는 데이터들이 쌓여서 위에부터 걷어내는 자료구조였다면, Queue는 먼저들어온 놈을 나중에 들어온 놈과 상관 없이, 먼저 내보낸다~ 라는 겁니다. Queue의 구현요소로는 1. Queue안에 있는 현재 데이터 갯수 2. Queue가 비었는지 확인 할 수 있는 Bool값 3. Queue에 데이터를 넣는 enqueue() 4. Queue에서 데이터를 빼는 dequeue() 처럼 크게 4가지 정도가 있습니다! 바로 구현해볼까요?! struct Queue { var queue: [T] = [] var count.. 2023. 1. 11.