• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ createStack函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: test_pop_element_from_stack

void test_pop_element_from_stack(){
	int _5 = 5,_6 = 6;
	Stack* integerStack = createStack(3);
	ASSERT(push(integerStack,&_5));
	ASSERT(push(integerStack, &_6));
	ASSERT(_6 == *(int*)pop(integerStack));
	// dispose(integerStack);
}
开发者ID:mohit88,项目名称:DSA,代码行数:8,代码来源:stackWithoutMemTest.c


示例2: main

int main()
{
        Queue* q = (Queue*)malloc(sizeof(Queue));
        q->s1 = createStack(10, 1);
        q->s2 = createStack(10, 2);
        int i;
        for(i = 1 ; i < 10 ; i++)
        {
                insert(&q, i);
        }
        printf("queue:%d\n", qRemove(&q));
        printf("queue:%d\n", qRemove(&q));
        printf("queue:%d\n", qRemove(&q));
        printf("queue:%d\n", qRemove(&q));
        
        return 0;
}
开发者ID:gsrr,项目名称:Programs,代码行数:17,代码来源:3-5.c


示例3: core_handle

void core_handle(string str, int n, int k)
{
    cout << "for string " << str << endl;
    Stack<char> s = createStack(str);
    cout << s.toString() << endl;
    roll(s, n, k);
    cout << s.toString() << endl << endl;
}
开发者ID:MO2013,项目名称:practice,代码行数:8,代码来源:roll.cpp


示例4: calc

void calc(char *inf)
{
	if (isDigit (inf[0]) || inf[0] == '(')
	{
		int i = 0;
		char c = '\0';
		bool hasBracket = false;
		Stack * head = createStack();
		while ((inf[i] != '\0'))
		{
			if (isOp(inf[i]))
			{
				printf(" ");				
				if (!isEmpty(head))			
				{	
					c = pop(head);
					if (c == '(')						//again, check if bracket (it's second, first is down there)
						push(head, c);																	 
					else
						if (isHigher(inf[i], c))     //check if operand has higher priority 
								push(head, c);
						else
						{
							while (!isEmpty(head))
							{
								printf("%c ", c);
								c = pop(head);
							}
							printf("%c ", c);
						}
				}
				push(head, inf[i]);	
			}
			else 
				if (isDigit(inf[i]))               // check if number
					printf("%c", inf[i]);
				else								//check if bracket
					if (inf[i] == '(')
						push(head, inf[i]);
					else							//push all out till (
						if (inf[i] == ')')
						{
							c = pop(head);
							while ((c != '(') && (!isEmpty(head)))
							{
								printf("%c ", c);
								c = pop(head);
							}
						}
			i++;

		}
		while (!isEmpty(head))
			printf("%c ", pop(head));
	}
	else 
		printf("error");
}
开发者ID:esengie,项目名称:Semester1,代码行数:58,代码来源:task3.cpp


示例5: exp2post

char* exp2post(char* exp)
{
	Stack* stack = createStack(tamanhoaux);
	char top, str;
	char* convertedExp = (char*) malloc(tamanhoaux*sizeof(char));
	int i=0, p=-1, j=0;
	while(exp[i]!='\0')
	{
		if (!peek(stack,&top))
			p=-1;
        	else
		        p=prioridade(top);
		str = exp[i];
		if(((str >= 'A')&&(str <= 'z')) || (((str>='0')&&(str<='9'))))
		{
			convertedExp[j] = str;
			j++;
		}
		else if(str=='(')
		{
			push(stack,str);
		}
		else if(str==')')
		{
			push(stack,str);
			top=')';
			while(top!='(')
			{
		                pop(stack,&top);
		                if(top!='('&&top!=')')
		                {
		                    convertedExp[j]=top;
		                    j++;
		                }
			}
		}
		else if (prioridade(str)<=p)
        	{
			pop(stack,&top);
			convertedExp[j]=top;
			j++;
			push(stack,str);
		}
		else if(prioridade(str)>p)
	        {
			push(stack,str);
		}
		i++;
	}
	while(!isEmptyStack(stack))
        {
    	    pop(stack,&top);
    	    convertedExp[j]=top;
		j++;
    	}
	convertedExp[j] = '\0';
	return convertedExp;
}
开发者ID:vinnymorais01,项目名称:automatos,代码行数:58,代码来源:principalGrep.c


示例6: evaluateExpression

int evaluateExpression(char *expression){
	Token *token;
	Stack *numberStack=createStack();
	Stack *operatorStack=createStack();

	if(expression ==NULL){
		Throw(ERR_NO_ARGUMENT);
	}
	Text *newText=textNew(expression);
	String *tokenizer = stringNew(newText);
	
	
	token=getToken(tokenizer);
	if(token->type == IDENTIFIER_TOKEN){
		Throw(ERR_NOT_ACCEPT_IDENTIFIER);
	}else{
	while(token!=NULL){
		if(isOperator(token)){
			if(((Operator*)token)->info->affix!=PREFIX)
			tryConvertToPrefix((Operator*)token);
		stackPush(token,operatorStack);
		}else if(isNumber(token)){
			stackPush(token,numberStack);
			break;
		}else
			Throw(ERR_INVALID_IDENTIFIER);
		token=getToken(tokenizer);
		if(token==NULL)
			break;
	}
		
	}
	
	while((token=getToken(tokenizer))!=NULL ){
		evaluatePostfixesPrefixesAndInfixes(expression,token,numberStack,operatorStack);
	}
	evaluateAllOperatorOnStack(numberStack,operatorStack);
	Number *result=(Number*)stackPop(numberStack);
	destroyStack(numberStack);
	if(operatorStack !=NULL){
		destroyStack(operatorStack);
	}
	return result->value;
	
}
开发者ID:kenmunyap,项目名称:PIC18Simulator,代码行数:45,代码来源:Evaluate.c


示例7: create_chars

Stack create_chars(int length, char *array){
	int i;
	Stack charData = *createStack(sizeof(char), length);
	for (i = 0; i < charData.total_elements; ++i)
	{
		((char *)charData.starting_address)[i] = array[i];
	}
	return charData;
}
开发者ID:harjassingh0007,项目名称:DSA,代码行数:9,代码来源:stackTest.c


示例8: create_strings

Stack create_strings(int length, string array){
	int i;
	Stack strData = *createStack(sizeof(string), length);
	for (i = 0; i < strData.total_elements; i++)
	{
		(*(string *)strData.starting_address)[i] = *array+i*sizeof(string);
	}
	return strData;
}
开发者ID:harjassingh0007,项目名称:DSA,代码行数:9,代码来源:stackTest.c


示例9: test_2_create_a_new_char_type_Stack

void test_2_create_a_new_char_type_Stack(){
	Stack data , expected ;
	char temp[] = {0,0,0,0,0};
	expected.starting_address = temp;
	expected.each_size = sizeof(char);
	expected.total_elements = 5;
	data = *createStack(sizeof(char), 5);
	ASSERT(1 == areEqual(data, expected));
}
开发者ID:harjassingh0007,项目名称:DSA,代码行数:9,代码来源:stackTest.c


示例10: test_3_create_a_new_string_type_Stack

void test_3_create_a_new_string_type_Stack(){
	Stack data , expected ;
	string temp[] = {"","",""};
	expected.starting_address = temp;
	expected.each_size = sizeof(string);
	expected.total_elements = 3;
	data = *createStack(sizeof(string), 3);
	ASSERT(1 == areEqual(data, expected));
}
开发者ID:harjassingh0007,项目名称:DSA,代码行数:9,代码来源:stackTest.c


示例11: main

int main() {
    stack *S = createStack(10);
    // printArray(input, argc-1);
    tree* root = makeTree(input, argc-1);
    inOrderNonRecursive(S, root);
    showTreeStack(S);
    shutDown(S, root, input);
	return 0;
}
开发者ID:sharanyaa,项目名称:DataStructuresAndAlgorithms,代码行数:9,代码来源:tree.c


示例12: create_ints

Stack create_ints(int length, int *array){
	int i;
	Stack intData = *createStack(sizeof(int), length);
	for (i = 0; i < intData.total_elements; ++i)
	{
		((int *)intData.starting_address)[i] = array[i];
	}
	return intData;
}
开发者ID:harjassingh0007,项目名称:DSA,代码行数:9,代码来源:stackTest.c


示例13: main

int main()
{
   struct Stack* stack = createStack(2);
    pop(stack);
    push(stack, 10);
    push(stack, 20);
    push(stack, 30);
    pop(stack);
   return 0;
}
开发者ID:tanvi-surana,项目名称:coding-problems,代码行数:10,代码来源:infix-postfix.c


示例14: preorderIterative

void preorderIterative (struct Node *root){
    struct Stack* s1 = createStack();
    struct Stack* s2 = createStack();
    struct Node* temp;
    
    push(&s1,root);
    
    while(s1){
        temp = pop(s1);
        push(&s2,temp);
        if(root->left) push(&s1,root->left);
        if(root->right) push(&s2,root->right);
    }
    
    while(s2){
        temp= pop(s2);
        cout << temp->data << endl;
    }
}
开发者ID:Lohit9,项目名称:MasterYourAlgorithms,代码行数:19,代码来源:postorderT.cpp


示例15: main

int
main(){
    Stack *stack = createStack("Some data for the top of the stack");
    push(stack, "Some more data");
    printf("%s\n", stack->first->value);
    printf("%s\n", stack->first->next->value);
    void* data = pop(stack);
    printf("%s\n", data);
    return 0;
}
开发者ID:REAANDREW,项目名称:katas,代码行数:10,代码来源:main.c


示例16: test_evaluatePrefixesAndNumber_evaluate_divide_multiply_should_throw_error_expecting_number

void test_evaluatePrefixesAndNumber_evaluate_divide_multiply_should_throw_error_expecting_number(void){
	CEXCEPTION_T e;
	Token *token;
	Stack *numberStack=createStack();
	Stack *operatorStack=createStack();
	
	Text *newText=textNew("/*");
	String *tokenizer = stringNew(newText);
	token=getToken(tokenizer);
	token=getToken(tokenizer);
	Try
	{
		evaluatePrefixesAndNumber("/*",token,numberStack,operatorStack);
	}
	Catch(e)
	{
		TEST_ASSERT_EQUAL(ERR_CANNOT_CONVERT_TO_PREFIX,e);
	}
}
开发者ID:jasonchuah93,项目名称:StringObjectCombinedWithShuntingYard,代码行数:19,代码来源:test_integrateEvaluate.c


示例17: test_1_create_a_new_int_type_Stack

void test_1_create_a_new_int_type_Stack(){
	Stack* data;
	Stack expected;
	int temp[] = {0,0,0,0,0};
	expected.starting_address = temp;
	expected.each_size = sizeof(int);
	expected.total_elements = 5;
	data = createStack(sizeof(int), 5);
	ASSERT(1 == areEqual(*data, expected));
}
开发者ID:harjassingh0007,项目名称:DSA,代码行数:10,代码来源:stackTest.c


示例18: main

int main(){
    
    Stack * stack1;
    stack1 = createStack();
    
    Element *e1, *e2, *e3, *e4, *e5;
    int a, b, c, d, e;
    
    
    a = 1;
    b = 2;
    c = 3;
    
    e1 = createElement(&a);
    e2 = createElement(&b);
    e3 = createElement(&c);
    
    int empty = isEmpty(stack1);
    if (empty == 1)
        printf("The stack is empty!\n");
    else 
        printf("Why is the stack not empty?\n");
    
    /* Add a Element to the stack and check if the stack is empty*/
    push(stack1, e1);
    
    empty = isEmpty(stack1);
    
    if (empty == 1)
        printf("Why is the stack empty?\n");
    else 
        printf("The stack is not empty!\n");
    
    /* Add another Element to the stack and check it is at the top 
    by calling peek() */
    
    push(stack1, e2);
    Element * test;
    test = peek(stack1);
    printf("The top element is: %d\n", *(int *)(test->elementPtr));
    
    /* remove the top element and test with peek() */
    test = pop(stack1);
    test = peek(stack1);
    printf("The top element is: %d\n", *(int *)(test->elementPtr));
    
    /* Add another and check with peek() */
    push(stack1, e3);
    test = peek(stack1);
    printf("The top element is: %d\n", *(int *)(test->elementPtr));
    
    destroyStack(stack1);
    
    return 0;
}
开发者ID:jauthier,项目名称:cis2520,代码行数:55,代码来源:testfile.c


示例19: test_evaluatePrefixesAndNumber_evaluate_negative_positive_should_throw_error_expecting_number

void test_evaluatePrefixesAndNumber_evaluate_negative_positive_should_throw_error_expecting_number(void){
	CEXCEPTION_T e;
	Token *token;
	Stack *numberStack=createStack();
	Stack *operatorStack=createStack();
	
	Text *newText=textNew("-+");
	String *tokenizer = stringNew(newText);
	token=getToken(tokenizer);
	token=getToken(tokenizer);
	token=getToken(tokenizer);
	Try
	{
		evaluatePrefixesAndNumber("-+",token,numberStack,operatorStack);
	}
	Catch(e)
	{
		TEST_ASSERT_EQUAL(ERR_EXPECTING_NUMBER,e);
	}
}
开发者ID:jasonchuah93,项目名称:StringObjectCombinedWithShuntingYard,代码行数:20,代码来源:test_integrateEvaluate.c


示例20: stringNew

void test_evaluatePrefixesAndNumber_evaluate_should_push_negative_into_operatorStack_and_5_into_number_stack(void){
	Token *token;
	
	Stack *numberStack=createStack();
	Stack *operatorStack=createStack();
	
	Text *newText=textNew("-5");
	String *tokenizer = stringNew(newText);
	//-
	token=getToken(tokenizer);
	evaluatePrefixesAndNumber("-5",token,numberStack,operatorStack);
	TEST_ASSERT_NOT_NULL(token);
	TEST_ASSERT_EQUAL_STRING("-",((Operator*)token)->info->symbol);
	TEST_ASSERT_EQUAL(MINUS_OP,((Operator*)token)->info->id);
	//5
	token=getToken(tokenizer);
	evaluatePrefixesAndNumber("-5",token,numberStack,operatorStack);
	TEST_ASSERT_NOT_NULL(token);
	TEST_ASSERT_EQUAL(5,((Number*)token)->value);
}
开发者ID:jasonchuah93,项目名称:StringObjectCombinedWithShuntingYard,代码行数:20,代码来源:test_integrateEvaluate.c



注:本文中的createStack函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ createStandardContextMenu函数代码示例发布时间:2022-05-30
下一篇:
C++ createSocket函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap