[자료구조] LinkedLIst, Stack

Swimming_Ram·2025년 8월 2일
0

자료구조

목록 보기
1/1
post-thumbnail

Linked List에서 이어지는 3가지 자료구조
Stack, Queue, Deque에 대하여 정리한 글입니다.

Linked List

LinkedList는 각 노드가 데이터와 포인터를 가지고 한줄로 연결되어 있는 방식입니다.

자바에서는 포인터개념이 없으니 포인터 역할을 수행하는 레퍼런스로 구현합니다.

단방향 연결 리스트

단방향 연결 리스트는 다음 노드에 대한 참조 값만을 가진 단순한 형태의 연결 리스트 입니다.

각 노드에는 데이터값과 다음 노드의 주솟값이 저장되있는 부분이 있어 물리적으로는 연결되있지 않지만 주솟값 참조로 리스트 처럼 연결되는 구조를 만들 수 있습니다. 이러한 특성으로 배열과 달리 크기를 자유자제로 늘리고 줄일 수 있습니다.

양방향 연결 리스트

다음 노드의 참조 뿐 아닌 이전노드의 주솟값까지 저장하면 이중 양방향 연결 리스트가 됩니다. 단방향 연결 리스트와 다르게 뒤쪽으로 탐색하는것도 가능해 집니다.

스택

스택은 쌓다 라는 의미를 가지고 있는것처럼 단방향에서
In, Out이 가능하며, Last In First Out구조를 가지고 있습니다.

스택의 기능에는

1. pop
들어가있는 가장 위에있는 요소를 제거하고 반환하는 역할을 합니다.

2. push
스택의 최상단에 새로운 요소를 추가합니다.

3. isEmpty()
스택이 비어있는지 확인합니다.

public class Stack {
    public static void main(String[] args) {

        Stack<Integer> ST = new Stack<>();

        System.out.println(ST);
        /// 출력 []
        System.out.println(St.isEmpty());
        // 출력 : true
    }
}

중간에 요소를 하나 추가해서 다시 출력해보면

public class Singly_LinkedList {
    public static void main(String[] args) {

        Stack<Integer> ST = new Stack<>();

        ST.push(1);

        System.out.println(ST);
        // 출력 [1]
        System.out.println(ST.isEmpty());
        //출력 : false
    }
}

4.Size
스택의 길이를 출력합니다.

아잇 쓰다보니 너무길어서 큐랑, 디큐는 내일쓸래요 ..

profile
Swimming is good at loss Weight

0개의 댓글