您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ stackPop函数代码示例

51自学网 2021-06-03 08:20:53
  C++
这篇教程C++ stackPop函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中stackPop函数的典型用法代码示例。如果您正苦于以下问题:C++ stackPop函数的具体用法?C++ stackPop怎么用?C++ stackPop使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了stackPop函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: test_stack_order

char* test_stack_order() {	stack* s = newStack();	struct stackelem* e1 = newStackElem(NULL);	struct stackelem* e2 = newStackElem(NULL);	struct stackelem* e3 = newStackElem(NULL);		stackPush(s, e1);	stackPush(s, e2);	stackPush(s, e3);		mu_assert("popping only elements should return them in reverse order (LIFO)", stackPop(s) == e3);	mu_assert("popping only elements should return them in reverse order (LIFO)", stackPop(s) == e2);	mu_assert("popping only elements should return them in reverse order (LIFO)", stackPop(s) == e1);	mu_assert("after popping all elements, stack should be null", stackPop(s) == NULL);		free(s);	free(e1);	free(e2);	free(e3);		return 0;}
开发者ID:jaapo,项目名称:tiralabra,代码行数:22,


示例2: FFrom

/********************************************************************* Move float to param stack (assumes they both fit in a single CELL)** f>s *******************************************************************/static void FFrom(FICL_VM *pVM){    CELL c;#if FICL_ROBUST > 1    vmCheckFStack(pVM, 1, 0);    vmCheckStack(pVM, 0, 1);#endif    c = stackPop(pVM->fStack);    stackPush(pVM->pStack, c);    return;}
开发者ID:2asoft,项目名称:freebsd,代码行数:17,


示例3: errorClean

voiderrorClean(void){    if (error_text) {	int i;	for (i = ERR_NONE + 1; i < error_page_count; i++)	    safe_free(error_text[i]);	safe_free(error_text);    }    while (ErrorDynamicPages.count)	errorDynamicPageInfoDestroy(stackPop(&ErrorDynamicPages));    error_page_count = 0;}
开发者ID:KimTaehee,项目名称:HappyStream,代码行数:13,


示例4: executeClosingBracket

/* this function is used to execute closingBracket in multiple case*/void executeClosingBracket( Stack *dataStack, Stack *operatorStack){     Number *num ;  Operator *Remove;      Remove = stackPop(operatorStack);  if( Remove ==  NULL || Remove->info->id !=OPEN_BRACKET)     Throw(ERR_NO_OPENING_BRACKET);      if( stackisEmpty(dataStack) )     Throw(  ERR_NO_NUMBER );  }
开发者ID:Raydivine,项目名称:Calculator,代码行数:15,


示例5: testge

int testge(int pc){  int var = stackPop(&stack);  if(var >= 0)  {    stackPush(&stack, 1);  }  else  {    stackPush(&stack, 0);  }  return pc + 1;}
开发者ID:vanhineam,项目名称:WICI,代码行数:13,


示例6: showMeFact

void showMeFact( int n ) {	Stack * s = makeStack( NULL );	int i = n;	int fact = 1;	void ** frameVars;	/*	 * Push all frames onto the stack, emulating the process	 * that would take place during recursion.	 */	for( ; i>=0; i-- ) {		/*		 * The next line is included to make clear the role of the base		 * case test in this iterative implementation.		 */		if( i == 0 ) break;				stackPush( s, 1, (uintptr_t)i );	}	/*	 * Print thet stack after we hit our base cose to see what it	 * actually looks like.	 *	 * We know we hit our base case here, because if we were writing	 * a fact function recursively, we would stop at 0, which is where	 * the loop ends.	 *	 * Add more calls to stackPrint around the function if you want to	 * see the state of the stack at different points during the calculation.	 */	printf( "Stack contents at factorial base case:/n" );	stackPrint( s );	/*	 * Pop the frames off of our stack, and perform the operation	 * that we perform on the way back up from our base case.	 */	for( ; i < n; i++ ) {		frameVars = stackPop( s );		printf( "popped:/n" );		fact *= (uintptr_t)frameVars[0];		free( frameVars );		stackPrint( s );		printf( "Intermediate fact value: %d/n/n", fact ); 	}	printf( "/nfact %d: %d/n", n, fact );	}
开发者ID:joseph8th,项目名称:unm-cs,代码行数:51,


示例7: main

/** * Hlavní program. */int main(void) {   tStack s;   stackInit(&s);   tiskniZasobnik(&s);   prazdnyZasobnik(&s);   stackPush(&s, 1);   tiskniZasobnik(&s);   prazdnyZasobnik(&s);   stackPush(&s, 2);   stackPush(&s, 3);   stackPush(&s, 4);   tiskniZasobnik(&s);   prazdnyZasobnik(&s);   int pom = 0;   stackTop(&s, &pom);   stackPop(&s);   printf("Vyjmuli jsme: %d/n",pom);   stackTop(&s, &pom);   stackPop(&s);   printf("Vyjmuli jsme: %d/n",pom);   tiskniZasobnik(&s);   prazdnyZasobnik(&s);   stackDelete(&s);   tiskniZasobnik(&s);   prazdnyZasobnik(&s);   return EXIT_SUCCESS;}
开发者ID:fkolacek,项目名称:FIT-VUT,代码行数:41,


示例8: tryEvaluatePrefixOperatorOnStackThenPush

void tryEvaluatePrefixOperatorOnStackThenPush(Operator *newToken,Stack *numberStack,Stack *operatorStack){	Operator *previousToken=(Operator*)stackPop(operatorStack);	if(previousToken == NULL){		stackPush(newToken,operatorStack);	}	else{		while(previousToken!=NULL)		{			if(newToken->info->id ==CLOSING_BRACKET_OP){								if(previousToken->info->id == OPENING_BRACKET_OP){					operatorPrefixEvaluate(numberStack ,previousToken);					free(newToken);					if(previousToken->info->id == OPENING_BRACKET_OP){						previousToken=(Operator*)stackPop(operatorStack);						break;					}				}else {					operatorEvaluate(numberStack,previousToken);				}			}else if(newToken->info->precedence >= previousToken->info->precedence || ((Operator*)newToken)->info->id==OPENING_BRACKET_OP ){				break;			}			else{				operatorEvaluate(numberStack,previousToken);			}			previousToken=(Operator*)stackPop(operatorStack);		}		if(previousToken!=NULL ){			stackPush(previousToken,operatorStack);		}		if(newToken->info->affix == PREFIX){			stackPush(newToken,operatorStack);		}			}}
开发者ID:kenmunyap,项目名称:PIC18Simulator,代码行数:38,


示例9: while

//将二叉搜索树转换为双端列表struct node *treeToList(struct node *root){  if (NULL == root)  {    return root;  }  struct node *current = root, *head = NULL, *prev = NULL;  struct stack *s;  while (current != NULL)  {    stackPush(s, current);    current = current->small;  }  while(!stackEmpty(s))  {    current = stackPop(s);    if (NULL == head)    {      head = current;    }    current->small = prev;    if (prev != NULL)    {      prev->large = current;    }    prev = current;    if (current->large != NULL)    {      current = current->large;      while (current != NULL)      {        stackPush(s, current);        current = current->small;      }    }  }  if (prev != NULL)  {    prev->large = NULL;  }  return head;}
开发者ID:ishaofeng,项目名称:LearnAlgorithm,代码行数:51,


示例10: coverNodes

void coverNodes(CDGNode * root, CDGNode * nodes[], int size) {  assert(NULL != root);  if (0 == size)    return;  Stack *nodeStack = stackNew(sizeof(CDGNode *));  CDGNode *node;  postOrder(root, nodeStack);  while (!stackIsEmpty(nodeStack)) {    stackPop(nodeStack, &node);    visitIfExists(node, nodes, size);  }  updateCDG(root, 0);  return;}
开发者ID:rajshukla,项目名称:Testgen_Release-_Feb-15,代码行数:14,


示例11: sizeof

CDGNode *updateCDG(CDGNode * root, int initialize) {  int size = sizeof(CDGNode *);  assert(NULL != root);  Stack *nodeStack = stackNew(size);  CDGNode *node;  postOrder(root, nodeStack);  while (!stackIsEmpty(nodeStack)) {    stackPop(nodeStack, &node);    updateScore(node, initialize);  }  stackFree(nodeStack);  return root;}
开发者ID:rajshukla,项目名称:Testgen_Release-_Feb-15,代码行数:14,


示例12: funcExit

void funcExit(char* AssignLval){    printf("AssignLval: /"%s/" /n",AssignLval);    symAssignFunctionReturn(AssignLval);    funcVars* fv = (funcVars*) malloc (sizeof(funcVars));    stackPop(symStack, (&fv));    int j;    for(j=0; j < fv->noOfVars; j++){    	deleteEntryUsingVar(fv->vars[j]);    	del_vnameHash(fv->vars[j]);    }    //free(fv);    printf("Stack depth %d/n", stackSize(symStack));    }
开发者ID:rajshukla,项目名称:Testgen,代码行数:14,


示例13: tryEvaluateOperatorOnStackThenPush

void tryEvaluateOperatorOnStackThenPush(Operator *newToken,Stack *numberStack,Stack *operatorStack){	Operator *previousToken;	previousToken=(Operator*)stackPop(operatorStack);		if(previousToken==NULL){		stackPush(newToken,operatorStack);	}else{		while(previousToken!=NULL){			if(newToken->info->precedence > previousToken->info->precedence){				break;			}			else{				operatorEvaluate(numberStack,previousToken);			}			previousToken=(Operator*)stackPop(operatorStack);		}		if(previousToken!=NULL ){			stackPush(previousToken,operatorStack);		}		stackPush(newToken,operatorStack);			}}
开发者ID:chaosAD,项目名称:StringObjectCombinedWithShuntingYard,代码行数:23,


示例14: fopen

BINTREE *createBinTree(){	int k;	FILE *file = fopen("input.txt", "r");	BINTREENODE *p, *t;	BINTREE *bt;	bt = malloc(sizeof(BINTREE));	memset(bt, 0, sizeof(BINTREE));	STACK stack;	stack.top = 0;	char c;	c = getc(file);	while (c != '#') {		switch (c)		{		case '(':			stackPush(&stack, (int)p);			k = 1;			break;		case ')':			stackPop(&stack, (int *)&t);			break;		case ',':			k = 2;			break;		default:			p = malloc(sizeof(BINTREENODE));			memset(p, 0, sizeof(BINTREENODE));			p->data = c;			if (bt->root == NULL) {				bt->root = p;			}			else {				if (k == 1) {					stackGet(&stack, (int *)&t);					t->left = p;				}				else {					stackGet(&stack, (int *)&t);					t->right= p;				}			}			break;		}		c = getc(file);	}	fclose(file);	return bt;}
开发者ID:aaa1616,项目名称:Fairy,代码行数:49,


示例15: remFromBasket

int remFromBasket(Customer *c){        if(c==NULL)    {                         printf("Error: No customer to process.");                         return -1;    }        basketItem *b = stackPop(c->basket);    c->quantity-=getItemQuantity(b);    delBasketItem(b);        return 0;}
开发者ID:nibras-reeza,项目名称:apiit-supermarket-simulation-c,代码行数:15,


示例16: main

int main(){  int failed = 0;  test1(&failed);  stack_t anotherstack;  int stackElem;  int result = stackCreate( &anotherstack, 8 );  if(result == 0)    for(int i=10; i < 50; i+=10)      stackPush(&anotherstack, i);  while( stackPop(&anotherstack, &stackElem) == 0 ){      printf(" Poped out element : %d /n",stackElem);  }  return 0;}
开发者ID:georgiosdoumas,项目名称:LinuxApplicationProgramming.2ndEd.2008,代码行数:15,


示例17: test_stackPop_given_6_should_pop_6

void test_stackPop_given_6_should_pop_6(void){ stackNew(4); stackPush(&stack , 6); UnityAssertEqualNumber((_U_SINT)((6)), (_U_SINT)((stackPop(&stack))), (((void *)0)), (_U_UINT)68, UNITY_DISPLAY_STYLE_INT); UnityAssertEqualNumber((_U_SINT)((0)), (_U_SINT)((stack.size)), (((void *)0)), (_U_UINT)69, UNITY_DISPLAY_STYLE_INT);}
开发者ID:Raydivine,项目名称:Mock-Example-,代码行数:15,


示例18: untilLeftPar

万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。