자료구조

Stack (노드 개념 적용)

제주도소년 2020. 2. 18. 11:32

* isEmpty 부분은 비어두었습니다 .. 귀찮아서


public class Node<T> {
	// 데이터 필드와 , 링크 필드로 구성된다.
	public T data;
	public Node<T> next;

	public Node(T item) {
		data = item;
		next = null;
	}
}

public class MyStack<T> {

	// 스택의 top을 가리키는 노드
	public Node<T> top;
	public int size;

	public MyStack() {
		top = null;
		size = 0;
	}

	public void push(T item) {

		Node<T> newItem = new Node<T>(item);

		newItem.next = top;
		top = newItem;

		size++;
	}

	public T pop() {
		if (isEmpty()) {
			
		}
		
		T item = top.data;
		top = top.next;
		
		size--;
		return item;
	}

	public T peek() {
		if (isEmpty()) {

		}

		return top.data;
	}

	public boolean isEmpty() {
		return top == null;
	}

	public static void main(String[] args) {
		MyStack<Integer> s = new MyStack<Integer>();

		s.push(1);
		s.push(2);
		s.push(3);
		s.push(4);

	}
}

'자료구조' 카테고리의 다른 글

정적바인딩 원형 큐(Circulation Queue)  (0) 2020.02.18
ArrayList  (0) 2020.02.13
연결리스트(Linked List)  (0) 2020.02.13
리스트 (LIST)  (0) 2020.02.13
자료구조와 알고리즘  (0) 2020.01.15