栈是一种数据结构,用于存放数据,可以理解为羽毛球筒,羽毛球就是数据,最先放进去的最后才能拿出来。
c语言可以用结构体来定义栈,每个元素以指针指向它前面的元素,最前面的元素称为栈顶,它的指针为空。
依次读入字符,遇到括号则放入括号栈,遇到其他字符则跳过。
若遇到右括号,则判断它前面的元素是否是和他匹配的左括号,若不是,则返回"不匹配",若是,则将他们2个丢掉,让左括号的指针指向空即可。
那根直接用数组有什么不同
追答节省空间,逻辑清晰
追问那还有可能是(【)】这样是不匹配那用栈不就会判断匹配
追答读到“)”后前面是“【”,判断不匹配
追问能帮忙下吗
是不是写的指针有问题