자료구조 (10) 썸네일형 리스트형 스택(Stack) 스택(Stack) 가장 먼저 입력된 데이터가 맨 아래에 쌓이고 가장 최근에 입력된 데이터가 가장 위에 쌓이는 구조 후입선출(LIFO) init() : 스택을 초기화 is_empty() : 스택이 비어있으면 TRUE 아니면 FALSE 반환 is_full() : 스택이 가득 차 있으면 TRUE 아니면 FALSE 반환 size() : 스택 내의 모든 요소들의 개수 반환 push(x) : 주어진 요소 x를 스택의 맨 위에 추가 pop() : 스택 맨 위에 있는 요소를 삭제하고 반환 peek() : 스택 맨 위에 있는 요소 삭제하지 않고 반환 배열을 이용한 스택 구현 #include #include #define MAX_STACK_SIZE 100 typedef int Element; Element data[MAX.. 연결리스트(LinkedList) 우리는 배열을 사용하여 데이터를 저장할 수 있고 꺼내 쓸 수도 있습니다.하지만 처음부터 배열의 크기를 너무 크게 사용할 경우 메모리 공간이 효율적으로 사용되기 어렵습니다.예를들어 우리에게 필요한건 5개만 저장 할 수 있는 공간인데 1000개를 저장할 수 있는 배열을 선언할 필요는 없습니다.하지만 자료구조를 구현할 때 정확하게 몇개의 저장공간이 필요한지 알 수 있다면 좋겠지만 그렇지 않은 경우가 더 많습니다. 배열 기반 연결리스트 구현 #include #include #include int arr[1000]; int count = 0; void addBack(int data) { arr[count] = data; count++; } void addFirst(int data) { for (int i = co.. 이전 1 2 다음