数据结构--括号匹配检验

该程序演示了如何利用数据结构中的顺序栈来检查输入的括号序列是否匹配。通过初始化栈、压栈、取栈顶元素和出栈操作,对输入的 '('、')'、'[' 和 ']' 符号进行匹配判断。当遇到右括号时,检查栈顶是否存在对应的左括号,若匹配则出栈,否则标记为匹配失败。最终返回栈为空则表示括号匹配成功,反之则匹配失败。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
//本程序用于学习数据结构中的顺序栈
//调试环境 C-Free 5.0 
#include<stdio.h>
#include<malloc.h>
#define MAXSIZE 100
typedef struct
{
	int *base;  //栈底指针 
	int *top;   //栈顶指针 
	int stacksize;
}SqStack;

void InitStack(SqStack*s)
{
	s->base = (int *)malloc(MAXSIZE*sizeof(int));//分配内存空间  100*sizeof(int) 
	if (!s->base)    
	{
		return;   //栈空(分配失败) 
	}
	s->top = s->base;     
	s->stacksize = MAXSIZE; 
}
void push(SqStack *s, char x)  //元素进栈 
{
	if (s->top-s->base==s->stacksize)   //栈满 
	{
		return;
	}
	*s->top++ = x;  
}
char GetTop(SqStack *s)   //取栈栈顶元素 
{
	if (s->top != s->base)
	{
		return*(s->top-1);      
	}

}
char pop(SqStack *s)    //元素出栈 
{
	if (s->top == s->base)
	{
		return' '; 
	}
	char e;
	e = *--s->top;
	return e;
}
int Maching()
{
	SqStack ss;     //声明一个结
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值