您现在的位置:首页 >> 数据结构实验报告 >> 数据结构上机实验报告,数据结构实验报告总结,数据结构实验报告排序,数据结构实验报告模板三

数据结构上机实验报告,数据结构实验报告总结,数据结构实验报告排序,数据结构实验报告模板三

时间:2012-04-14 来源: 泥巴往事网

北京邮电大学信息与通信工程学院 数据结构实验报告 实验名称: 实验 X——XXXX 学生姓名: XXX 班 级: XXX 班内序号: XXX 学 日 号: XXX 期: 20XX 年 X 月 X 日 1.实验要...

《数据结构与算法》课程实验报告( 3) 实验题目:

姓名:

括号匹配问题 学号:

1312100034 专业:

实验地点:

班级:

2013级 徐布秋 系名:

体育工程与信息技术学院 实验时间:

2014.9.25 教育技术学 指导老师:黄雪娟 【实验概述】 1.实验目的及要求 (1)熟悉并写出栈的逻辑结构表示 (2)实现栈的存储表示 (3)实现栈的操作 2.实验原理 原理:

顺序栈 3.实验环境(使用的软件) VC++6.0 【实验内容】 1.实验方案设计 一、概要设计 2.实验过程(实验步骤、记录、数据、分析) 【实验步骤】 1. 栈的ADT表示 ADT Stack{ 数据对象:D={ai|ai∈ ElemSet,i=1,2,…,n,n>=0} 数据关系:R1={<ai-1,ai>|ai-1,ai ∈D,i=2,…,n} 约定an为栈顶端,a1为栈底端 基本操作:

Status InitStack(&s) 操作结果:构造一个空栈s。

Status Push( &s, e) 初始条件:栈s已经存在。

操作结果:插入元素e为新的栈顶元素。

Status Pop( &s, &e) 初始条件:栈s已经存在,并不为空。

操作结果:删除s的栈顶元素,并用e返回其值。

Status Check( &s, e) 初始条件:栈s已经存在,并不为空。

操作结果:判断括号是否匹配。

Status EnterString( &s) }ADT Stack 2. 数据类型定义和核心算法和程序 ? 数据类型定义:

typedef int Status;

typedef char SElemType;

typedef struct {//栈的顺序存储表示 SElemType* base;

SElemType* top;

int stacksize;

}SqStack;

int x=0;

SElemType a;

SElemType e;

? 核心算法:

? 程序:

#include <stdio.h>

#include <malloc.h>

#include <stdlib.h>

#define TURE 1 #define FALSE 0 #define ERROR 0 #define #define #define #define #define typedef typedef OK 1 INFEASIBLE -1 OVERFLOW -2 STACK_INIT_SIZE 100 STACKINCREMENT 10 int Status;

char SElemType; typedef struct {//栈的顺序存储表示 SElemType* base;

SElemType* top;

int stacksize;

}SqStack;

int x=0;

Status InitStack(SqStack &s){//构造一个空栈S s.base = (SElemType*)malloc(STACK_INIT_SIZE sizeof(SElemType));

if (!s.base) exit(OVERFLOW);//内存分配失败 s.top = s.base;

s.stacksize = STACK_INIT_SIZE;

return OK;

} Status Push(SqStack &s,SElemType e){ //插入元素e为新的栈顶元素 if(s.top-s.base>=s.stacksize){ //栈满追加存储空间。

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

if(!s.base) exit(OVERFLOW);//内存分配失败 s.top = s.base+s.stacksize;

s.stacksize += STACKINCREMENT;

} *s.top++ =e;

return OK;

} * Status Pop(SqStack &s,SElemType &e){ //若栈不空,则删除s的栈顶元素,用e返回其值,并返回ok;否则返 回error。

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

e = * --s.top;

return OK;

} /////////////////////////////////////////////////////////// ///////// Status Check(SqStack &s,SElemType e){ SElemType a;

Pop(s,a);

if( a=='('

&&

e==')'

|| a=='['&&

e==']'

|| a=='{'&&

e=='}'

) return TURE;

return ERROR;

} Status EnterString(SqStack &s){ SElemType e;

while (1){ scanf("%c",&e);

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

else if(e==')'||e==']'||e=='}'){ if(!Check(s,e)){ return FALSE;

break;} } else if(e!='\n'){ x=1;

return FALSE;

break;

} else break;

} } void main() { SqStack s;

InitStack(s);

if(EnterString(s)) printf("括号匹配\n");

else if(x==1) printf("输入的不是括号\n");

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

} 3.结果与结论(实验结果截图、结果分析) 【小结】 。 【实验评分】 (共20分) 课堂表现(2分) 成绩:

指导老师签名:

日期:

实验结果(10分) 报告书写(8分)

《数据结构与算法》课程实验报告 实验名称 姓 名 喻晓天 专业 顺序表 网络工程 指导教师 班 级 9104302 实验序号 学 成 号 绩 1 810411226 实验日期 一、实验目的 3/8/2013 荣...

百度文库 应用文书 表格/ 模板 表格类 模板 上传文档支持以下设备:扫二维码下载 ... 数据结构实验报告 格式实验 1 线性表的基本操作 一、实验目的 1.掌握使用 VC+... 云南大学软件...

百度文库 应用文书 表格/ 模板 表格类 模板 上传文档支持以下设备:扫二维码下载 ... 数据结构实验报告 格式实验 1 线性表的基本操作 一、实验目的 1.掌握使用 VC+... 软件工程系 ...

 
  • 泥巴往事网(www.nbwtv.com) © 2014 版权所有 All Rights Reserved.