Пример #1
0
Файл: 8-4.c Проект: AotY/XJTU_C
int main()
{
    Queue queue;
    init_queue(&queue);
    int i ;
    //入队
    for(i = 3; i <= 5; i++)
    {
        inqueue(&queue, i);
    }
    printQueue(&queue);
    
    //出队
    for(i = 0; i < 2; i++)
        dequeue(&queue);
    printQueue(&queue);

    
    //入队
    for(i = 11; i <= 12; i++)
    {
        inqueue(&queue, i);
    }
    printQueue(&queue);
    return 0;
}
Пример #2
0
void floortraverse(TREE T){
	TREE p;
	LinkQueue Q;
	initqueue(&Q);p=T;
	inqueue(&Q,p);
	while(queueempty(Q)){
		outqueue(&Q,&p);
		print(p->data);
		if(p->left) inqueue(&Q,p->left);
		if(p->right) inqueue(&Q,p->right);
	}
}
Пример #3
0
int main(int argc, char** argv)
{
	int i,k,n,a,a1;
	QUE* Start = NULL;//начало очереди
	QUE* End = NULL;//конец очереди
    printf("How many  elements? ");
	scanf("%d",&a);
	for(i=1; i<=a;i++)
	{
		printf("%d)Enter number: ",i);
		scanf("%d",n);
	inqueue(&Start,&End,n);
	}
	 printf("How many  elements in exit? ");
	scanf("%d",&a1);
	for(i=1; i<=a;i++)
	{
	dequeue(&End);
	}




	return (EXIT_SUCCESS);
}
Пример #4
0
void parser_init(char * str){
	//numbers   = stack_char_new(CAPACITY);
 	//operators = stack_char_new(CAPACITY/2);
	numbers = queue_new(CAPACITY);
	operators = queue_new(CAPACITY/2);
	if(!str) exit(-1);
	char *p = str;
	while(*p){
		if ('0' <= *p && '9' >= *p)
			//push(numbers,*p);
			inqueue(numbers,*p);
		else if ('+' == *p)
			//push(operators,*p);
			inqueue(operators,*p);
		p++;
	}
	//exp = Exp_Int_new(pop(numbers)-'0');
	exp = Exp_Int_new(dequeue(numbers)-'0');
}
Пример #5
0
void outdegree2(TREE T){
	TREE p;
	LinkQueue Q;
	int flag1=0,flag2=0,n0=0,n1=0,n2=0;
	initqueue(&Q);p=T;
	inqueue(&Q,p);
	while(queueempty(Q)){
		outqueue(&Q,&p);
		if(p->left) {inqueue(&Q,p->left);flag1=1;}
		if(p->right){inqueue(&Q,p->right);flag2=1;}
		if(flag1&&flag2) n2++;
		else if(!flag1&&!flag2) n0++;
		     else n1++;
	    flag1=flag2=0;
	}
	printf("出度为0的节点数目:%d\n",n0);
	printf("出度为1的节点数目:%d\n",n1);
	printf("出度为2的节点数目:%d\n",n2);
}
Пример #6
0
int main(int argc, const char *argv[])
{
	char ch;
	char *p;
	Queue *queue = malloc_r(sizeof(Queue));
	queue_init(queue);	
	while((ch = getchar() != '\n')){
		p = malloc(sizeof(char));
		p = &ch;
		inqueue(queue, p);			
	}
	while(!is_empty(queue)){
		p =	dequeue	(queue);
		putchar(*p);
	}
	return 0;
}