목록구현 (2)
cyphen156
큐는 스택과 더불어 가장 많이 쓰이는 자료 입출력 구조이다. 스택(Stack)이 후입선출(LIFO)방식이었다면, 큐(Queue)는 선입선출(FIFO)의 구조로 입장순서에 대한 개념과 같다. 운영체제 입장에서도 중요한데 특별한 이유(Exception/우선 처리 지시 등의 예외사항)가 아니라면 무조건 먼저 들어온 프로세스를 먼저 처리하는 과정으로 동작하기 때문에 중요하다. 기본적으로 사용하는 형식은 스택을 구현했을 때와 유사하게 사용하지만, 다른점은 스택을 사용했을 때와 달리 큐를 구현할때는 마지막 노드(tail==stack의 top)와 마찬가지로 첫번째 노드 (Head)에 대한 정보가 중요하다는 것이다. Queue.c /** * 큐 자료구조 구현하기 * // 단일연결리스트 * using struct * *..
구조체, 리스트를 사용한 자료구조 만들어보기 첫번째 스택 다 만드는데 대충 2시간쯤 걸렷나? 싶다 간만에 하니까 기억이 가물가물하네 기본적으로 스택은 리스트의 한 유형에 해당한다. LIFO(Last In Frist Out/후입 선출)이라는 구조를 가지고 있는데, 가장 마지막에 입력된 자료가 맨 처음 수행되는 하노이의 탑쌓기라고 생각하면 된다. 스택이 중요한건 컴퓨터가 메모리 상에서도 스택이라는 구조를 사용하기도 하지만, 운영체제 입장에서도 다른것은 신경쓸 필요 없이 최상위 데이터만 신경쓰면 되기에 처리 속도면에서 효율적인 자료구조라고 볼 수 있다. 스택이 비었을 경우의 동작 스택에 자료를 입력한 이후의 동작 /** * 스택자료구조 구현하기 * //리스트 * using struct * */ #define ..