コード例 #1
0
ファイル: mystack.cpp プロジェクト: Couragewang/data_struct
bool mystack::push(const data_type &_data)// push data
{
	if( !is_stack_full() || stack_realloc() ){
		*top = _data;
		top++;
		return true;
	}else{
		return false;
	}
}
コード例 #2
0
ファイル: pl-alloc.c プロジェクト: brayc0/nlfetdb
void
pushArgumentStack__LD(Word p ARG_LD)
{ Word *newbase;
  size_t newsize = nextStackSize((Stack)&LD->stacks.argument, 1);

  if ( newsize && (newbase = stack_realloc(aBase, newsize)) )
  { intptr_t as = newbase - aBase;

    if ( as )
    { QueryFrame qf;

      aTop += as;
      aBase = newbase;

      for(qf=LD->query; qf; qf = qf->parent)
	qf->aSave += as;
    }
    aMax  = addPointer(newbase,  newsize);
    *aTop++ = p;
  } else
    outOfStack((Stack)&LD->stacks.argument, STACK_OVERFLOW_THROW);
}