데이터 구조 - 대기 열 함수 (C 언어)

1438 단어
데이터 구조 - 대기 열 함수 (C 언어)
//      (  ) 

#include
#include

#define OK       1
#define TRUE  1
#define FALSE 0

typedef struct Element{
	int x;     //        
}Element;

 typedef struct array{      //       
 	Element elem;
 	struct array *next;
 }*PLArray; 
 
 typedef struct Node{
 	PLArray  front;   //     
 	PLArray  rear;    //     
 	int len;          //       
 }*pNode;
 
 
/********    *******/
int InitArray(pNode &S){    //      
	PLArray q=(PLArray)malloc(sizeof(PLArray)); //      
	S=(pNode)malloc(sizeof(pNode));
	S->front=q;
	S->rear=q;
	S->front->next=NULL;
	S->len=0; 
	return OK;
}

int Push(pNode &S,Element e){    //    e       
	PLArray p=(PLArray)malloc(sizeof(PLArray));  //      
	p->elem=e;
	
	p->next=NULL;
	S->rear->next=p;   //         
	S->rear=p;         //       
	S->len++; 
}

int Pop(pNode &S,Element &e){    //      ,, e        
	if(S->front==S->rear)  return FALSE;
	PLArray p=S->front->next;   //p    
	e=p->elem;
	S->front->next=p->next;   //         
	if(S->rear==p) S->rear=S->front;   //       
	S->len--;
	return OK ;
}

int ArrayEmpty(pNode &S){    //         
	if(S->len==0)  return TRUE;
	else           return FALSE;
} 

int Refer(pNode &S,Element &e) {  //       
	e=S->front->next->elem;
}
int main(){
	
	return 0;
} 

좋은 웹페이지 즐겨찾기