Ejemplo n.º 1
0
void StackPush(stackT stackP, int element) {
  if (StackIsFull(stackP)) {
    fprintf(stderr, "Can't push element on stack: stack is full.\n");
    exit(1);  /* Exit, returning error code. */
  }
  stackP->contents[++stackP->top] = element;
}
int queueIsFull(queue_t * queue){
	StackIsFull((queue->s1));

	printf("queue full \n" );
	return 1;

}
bool check(int a[],int num){
	Stack text;
	InitializeStack(&text);
	Item temp;
	int read_edx= num;		//指示此时什么值应该被弹出 
	int arr_edx = num-1; 		//指示数组下标,数组反向读取 
	while(num--){
		if(StackIsFull(&text)){
			return false;
		}else{
			temp.data = a[arr_edx];
			Push(temp,&text);
			
			while(!(StackIsEmpty(&text)) && text.end->item.data == read_edx ){
				Pop(&text);
				read_edx--;
			}
		}
		arr_edx--;
	}
	
	if(StackIsEmpty(&text)){
		return true;
	}else{
		return false;
	}
}
int enqueue(queue_t * queue,DATA_TYPE data){

	if(StackIsFull((queue->s1)))
	return 0;

	stackPush((queue->s1),data);
	
	return 1;
}
Ejemplo n.º 5
0
void StackPush(stackT *stackP, stackElementT element)
{
	if (StackIsFull(stackP))
	{
		fprintf(stderr, "Can't push element on stack: stack is full.\n");
		exit(1);
	}
	stackP->contents[++stackP->top] = element;
}
Ejemplo n.º 6
0
void StackPush(stackT *stackP, StackElement element)
{
    if(StackIsFull(stackP)){
        fprintf(stderr, "Не могу впихнуть элемент: cтэк полон\n");
        exit(1);
    }

    stackP->contents[++stackP->top] = element;
}
Ejemplo n.º 7
0
void StackPush(stackT *stackP, stackElementT element)
{
  if (StackIsFull(stackP)) {
    fprintf(stderr, "Can't push element on stack: stack is full.\n");
    exit(1);  /* Exit, returning error code. */
  }

  /* Put information in array; update top. */

  stackP->contents[++stackP->top] = element;
}
bool Push(Item item,Stack * pstack){
	if(StackIsFull(pstack)){
		return false;
	}
	
	Node * pnew;
	pnew=(Node *)malloc(sizeof(Node));

	
	CopyToNode(item,pnew);
	pnew->next=NULL;
	
	if(pstack->end == NULL){
		pstack->head = pnew;
		pstack->end =  pnew;
	}
	else{
		pstack->end->next = pnew;
		pstack->end = pnew;
	}
	pstack->size++;
	return true;
}
Ejemplo n.º 9
0
void Push(stackADT stack, stackElementT element) {
  if (StackIsFull(stack)) Error("Przekroczono rozmiar stosu");
  stack->elements[stack->count++]=element;
}