用栈实现括弧匹配,可输入字符串,不限于仅仅输入括号

用栈实现括弧匹配,可输入字符串,不限于仅仅输入括号,第1张

用栈实现括弧匹配,可输入字符串,不限于仅仅输入括号

实现思路:

采用栈来实现括号比较,我们可以这样想,我们可以采用假设法,就是我们自己只采用左括号,先采用一个数组来存储输入的,然后采用栈来存储所需要的右括号,我还是上图吧,语言表达不清除

#include
#include
#include
#define Max 1000 
typedef struct Stack{
	char data[Max];
	int size=0;
	int top=-1;
};
Stack s;
char str[Max];
void createStack()
{
	printf("请输入字符长度");
	int m;
	scanf("%d",&m);
	printf("请输入带有的{,},(,),[,]括弧串:");
	for(int i=0;i=0){
		if(str[i]=='}'||str[i]==']'||str[i]==')'){
			if(pop()!=str[i]){
				m=0;
				break;
			}
			j--;
		}
		i--;
	}
	if(m&&!j){
		printf("恭喜你");
	}else{
		printf("不要生气");	
	}
}
int main()
{
	createStack();
	init();
	match();
	return 0;
 } 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/4653583.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存