자료구조
-
배열리스트 c++자료구조 2020. 1. 17. 16:20
#include using namespace std; #define MAX_LIST_SIZE 100 typedef int element; typedef struct { element list[MAX_LIST_SIZE]; int length; }Array; void error(char *message) { cout length = 0; } int is_empty(Array *L) { return L->length == 0; } int is_full(Array *L) { return L->length == MAX_LIST_SIZE; } void display(Array *L) { int i; for (i = 0; i length; i++) { cout list[i]; } } void add(Arra..
-
ADT(abstract data type)자료구조 2020. 1. 16. 11:55
추상 자료형 지갑의 기능 1카드를 삽입 2카드를 빼냄 3동전의 삽입 4동전을 빼냄 5지폐의 삽입 6지폐를 빼냄 위에는 지갑의 기능들이 나열되어있다. 하지만 기능이 어떠한 과정을 거쳐서 완성되는지는 언급하지 않고 있다. 예를 들어 동전의 삽입과정을 다음과 같다 "지갑을 열고 동전 주머니를 찾아 동전 주머니의 지퍼를 내린다 ,그리고 동전 주머니에 동전을 넣는다 . 이어서 동전 주머니의 지퍼를 올린 다음 마지막으로 지갑을 닫는다" 우리에게 너무나도 익숙한 것이 지갑이라 별도의 과정이 존재하지 않는 것 같지만 돌이켜 보면 여러 과정을 거쳐서 카드나 지폐의 삽입이 이뤄짐을 알 수 있다. 즉 위에 정리해 놓은 것은 ' 지갑이 제공하는 기능들' 이다 이렇듯 ' 구쳐적인 기능의 완성과정을 언급하지 않고 순수하게 기능이..
-
큐자료구조 2019. 12. 22. 23:54
queue - first in first out 방식 메모리 안 데이터들을 더욱 효율적으로 다루기 위해 만들어진 데이터 참조 방식 먼저 들어온 데이터가 먼저 나가는 방식 ex)커피를 먼저 주문한 사람이 커피를 먼저 받는 방식 queue 구현방법 1. 정적인 어레이 1)구현이 쉽다 2)고정된 queue크기 2.동적인 어레이 1)자유로운 quere크기 2)구현이 어렵다 queue의 대표 함수 enqueue 큐에 값을 집어넣는 함수 dequeue 큐에 값을 빼내는 함수 queue의 다른 형식 1.circular queue(원형 큐) enqueue , dequeue 할때마다 원형을 계속 도는 형식 2.priority queue 아무리 가장 먼저 들어왔더라도 데이터 값 각각의 우선순위를 보고 first결정 ex)..
-
stack - 데이터 처리 방식자료구조 2019. 12. 22. 22:36
stack 영어 뜻 : 쌓아서 올리다 메모리 안 데이터들을 더욱 효율적으로 다루기 위해 만들어진 데이터 참조방식 스택 구조 1.FIFO(First In First Out) 처음에 오는 데이터가 제일 마지막에 나간다. 2.LIFO(Last In First Out) 제일 마지막에 들어온 데이터가 제일 먼저 나간다. ex)스택 구조 예제 1.Ctrl - z 실행취소(가장 최근에 한 실행한 행동을 취소) 2.햄버거 놀이 가장 마지막에 올라간 baby가 가장 먼저 나옴 스택 구현 방법 1.1차원 배열(정적) 구현이 상대적으로 쉬우나 인풋 사이즈를 미리 알아야한다 2.리스트 구현이 상대적으로 어려우나 제한된 사이즈로부터 자유롭다. 스택 주요 기능 push 스택에 데이터를 넣는 기능 pop 스택의 최상위 데이터를 빼..