信息技术与工程学院
《数据结构》实验报告(第二 次)
一.实验目的
(1)会定义顺序栈和链栈的结点类型;
(2)熟悉栈的进栈和出栈代表的实际意义;
(3)掌握两种存储结构下栈的基本操作:进栈、出栈、取栈顶等;
(4)了解在什么情况下会应用到栈。
二.实验内容
输入一包含(和)的字符串,检测括号是否匹配(其中括号能嵌套括号),并输出
括号是否匹配的信息(匹配,缺少左括号,缺少右括号)。
三.源程序及主要算法说明
#include<stdio.h>
void pan(char str[],char stack[],int i)
{
int top=-1;
while(str[i]!=' ') //检验字符串是否到末尾
{
if(str[i]=='(') //倘若字符串中有“(”则进栈
{
top=top+1;
stack[top]=str[i];
}
if(str[i]==')') //输入有“)”判断栈是否是空的,若是空的则
表示缺少“(”
if(top==-1){
printf(" 缺少'('!");
return;
}