본문 바로가기
학과 공부/자료구조

DAY4

by sonysame 2016. 9. 20.

ADT Quesue

-Objects: a finite ordered list of elements

Functions

+Queue Create(max_size)

+Boolean IsFull(Queue *Q)
+Boolean IsEmpty(Queue *Q)

+Boolean Add(Queue *Q, Element in)

+Boolean Delete(Queue *Q, Element *out)


Implementaton of Queue


Queue Create(100)


typedef struct{

int item[100];

int front=-1;

int rear=-1


2,3에 채워져있다면

front:1, rear:3 구현하기 나름


boolean IsFull(Queue *Q)

{

return(Q->rear==99);//return(Q->front==((Q->rear+1)%100));원형 queue 일때

}

boolean IsEmpty(Queue *Q)

{

return(Q->rear==Q->front);

}

boolean Add(Queue *Q, int in)

{

if (IsFull(q)==true) return false;

Q->item[++Q->rear]=in;//Q->rear=(Q->rear+1)%100; Q->item[Q->rear]=in;

return true;

}



Queue n_Q;

IsFulll(&n_Q);



boolean Delete(Queue *Q, int *out){

if (IsEmpty(Q)==true)return false;

*out=Q->item[++Q->front];//Q->front=(Q->front+1)%100;*out=Q->item[Q->front];

return false;

}원으로 만들었을때, 1은 빠져있고, 2부터 99까지 채워있을때 모두 차있는 것


Dynamically Allocated Storage


-힙 영역을 사용한다.

int *pInt;

pInt=(int*)malloc(sizeof(int));

*pInt=1024;

free(pInt);



'학과 공부 > 자료구조' 카테고리의 다른 글

기말1  (0) 2016.11.01
DAY5  (0) 2016.09.27
DAY3  (0) 2016.09.13
Day3  (0) 2016.09.08
DAY2  (0) 2016.09.06