链栈实现括号匹配

链栈实现括号匹配

       数据结构中有一种结构叫做栈,它是一种先入后出的结构,通过这个程序的编写,基本上颠覆了我对于指针的认识,我才发现我对于c语言的指针并没有深入理解,我仅仅是对于一级指针有所了解。指针的值和指针所指向的对象我还有点搞不清楚。

     这个程序是括号的检验,因为之前写过顺序栈,这次想用链栈实现,使用尾插法,并让指针域指向上一个节点姐可以形成栈,通过这个程序我认识到了在动手写程序之前把逻辑搞清楚是很重要的,这个程序的逻辑就是,输入括号-> 若为左括号入栈,若为右括号就与栈顶括号进行匹配->此时只有两种情况,1.匹配,即删去栈顶节点,并判断是否为空栈,若为空栈就结束程序,输出匹配。2.不匹配,输出不匹配,结束程序。把逻辑理清楚后剩下的就是编程的事了,以后最好把逻辑用注释写在开头。

     编程中我犯了大忌,在函数里申请内存,一出函数就被释放了,导致程序崩溃。还有往函数里传递指针,函数形参的问题。代码如下:

#include<stdio.h>
#include<stdlib.h>
#define TRUE 1
#define FALSE 0
typ
  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值