最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

验证括号的匹配 实验报告

来源:动视网 责编:小OO 时间:2025-09-30 22:27:10
文档

验证括号的匹配 实验报告

实验二课程名称:数据结构班级:嵌入式2班完成日期:2011-11.7姓名:张燕学号:1010431072指导教师:王群芳实验名称:验证括号的匹配实验序号:实验成绩:一、实验目的及要求深入了解栈和队列的特性,以便在实际问题背景下灵活运用他们;同时巩固对这两种结构的构造方法的理解。二、实验环境硬件:计算机软件:MicrosoftVisualC++三、实验内容利用栈(以顺序栈作存储结构)实现括号匹配的检验。四、实验程序#include#include#defineTRUE1#defineFALSE0
推荐度:
导读实验二课程名称:数据结构班级:嵌入式2班完成日期:2011-11.7姓名:张燕学号:1010431072指导教师:王群芳实验名称:验证括号的匹配实验序号:实验成绩:一、实验目的及要求深入了解栈和队列的特性,以便在实际问题背景下灵活运用他们;同时巩固对这两种结构的构造方法的理解。二、实验环境硬件:计算机软件:MicrosoftVisualC++三、实验内容利用栈(以顺序栈作存储结构)实现括号匹配的检验。四、实验程序#include#include#defineTRUE1#defineFALSE0
实验二

课程名称:数据结构

班级:嵌入式2班

完成日期:2011-11.7

姓名:张燕

学号:1010431072

指导教师:王群芳
实验名称:验证括号的匹配

实验序号:实验成绩:
一、实验目的及要求

深入了解栈和队列的特性,以便在实际问题背景下灵活运用他们;同时巩固对这两种结构的构造方法的理解。

二、实验环境

硬件:计算机   软件:Microsoft Visual C++

三、实验内容    

利用栈(以顺序栈作存储结构)实现括号匹配的检验。

四、实验程序

#include

#include

#define TRUE 1

#define FALSE 0

#define STACK_INIT_SIZE 50

#define STACKINCREMENT 5

typedef int Status;

typedef  char SElemType;

typedef struct {

 SElemType *base;

 SElemType *top;

 int stacksize;

}SqStack;

Status InitStack(SqStack &s)

{

 s.base=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType));

 if(!s.base)return(FALSE);

 s.top=s.base;

 s.stacksize=STACK_INIT_SIZE;

 return TRUE;

}

Status Push(SqStack &s,SElemType e)

{if(s.top-s.base>=s.stacksize){

        s.base=(SElemType*)realloc(s.base,(s.stacksize+STACKINCREMENT)*sizeof(SElemType));

        if(!s.base)

   return(FALSE);

  s.top=s.base+s.stacksize;

  s.stacksize+=STACKINCREMENT;

 } 

 *s.top++=e;

    return TRUE;

}

Status Pop(SqStack &s,SElemType &e){

 if(s.top==s.base){

 return FALSE;}

   e=*--s.top;

    return TRUE;

}

Status Cmp(SElemType &e,char ch){

 if((e=='(')&&(ch==')')) return TRUE;

 else if((e=='[')&&(ch==']')) return TRUE;

 else if((e=='{')&&(ch=='}')) return TRUE;

 return FALSE;

}

Status check()

 { SqStack s; InitStack(s); SElemType ch,e;

       while ((ch=getchar( ))!='\\n') 

         if (ch=='('||ch=='['||ch=='{')   Push(s,ch); 

           else  if (ch==')'||ch==']'||ch=='}')

           {  if (!Pop(s,e)) return FALSE; 

              if (!Cmp(e, ch)) return FALSE; 

           }

       if (s.top==s.base)  return  TRUE;

        return FALSE;

       

}

void main(){

 SqStack s;

InitStack(s);

if(check()) printf("括号匹配");

else  printf("括号不匹配");

}

五,实验结果

文档

验证括号的匹配 实验报告

实验二课程名称:数据结构班级:嵌入式2班完成日期:2011-11.7姓名:张燕学号:1010431072指导教师:王群芳实验名称:验证括号的匹配实验序号:实验成绩:一、实验目的及要求深入了解栈和队列的特性,以便在实际问题背景下灵活运用他们;同时巩固对这两种结构的构造方法的理解。二、实验环境硬件:计算机软件:MicrosoftVisualC++三、实验内容利用栈(以顺序栈作存储结构)实现括号匹配的检验。四、实验程序#include#include#defineTRUE1#defineFALSE0
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top