数据结构实验4实验报告_第1页
数据结构实验4实验报告_第2页
数据结构实验4实验报告_第3页
数据结构实验4实验报告_第4页
数据结构实验4实验报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

暨南大学本科实验报告专用纸课程名称数据结构实验成绩评定实验工程名称习题3.163.184.134.16指导教师孙世良实验工程编号实验4实验工程类型实验地点实验楼三楼机房学生姓名林炜哲学号2013053005学院电气信息学院系专业软件工程实验时间年月日午~月日午温度℃湿度实验目的掌握栈和队列这两种抽象数据结构类型的特性,并能在相应的应用问题中正确选用它们。掌握栈类型的实现方法,即两种储存结构表示时的根本操作实现算法。熟悉串的七种根本操作定义,并能利用这些根本操作实现串的其他各种操作的方法。熟练掌握在串的定长顺序储存结构上实现串的各种操作的方法。了解串操作的应用方法和特点。实验内容和要求3.16火车调度站的入口处有n节硬席或软席车厢〔分别以H和S表示〕等待调度,试编写算法,输出对这节车厢进行调度的操作〔即入账或出栈操作〕序列,以使所有的软席车厢都被调到硬席车厢之前。3.18试写一个判别表达式中开、闭括号是否配对出现的算法。4.13编写算法,从串s中删除所有和串t相同的子串。4.16编写算法,实现串的根本操作StrCompare(S,T)。主要仪器设备实验环境:MicrosoftVisualStudio2012源程序3.16程序:#include<stdio.h>#include<stdlib.h>#include<string.h>voidSwitch(char*rs,char*S){ inti,k,len; strcpy(rs,"\0"); k=0; len=strlen(S); for(i=0;i<len;i++) if(S[i]=='S') strcat(rs,"IO"); else{ strcat(rs,"I"); k++; } while(k>0){ k--; strcat(rs,"O"); }}intmain(){ charQueue[20]; charrs[40]; scanf("%s",Queue); Switch(rs,Queue); puts(rs); return0;}3.18程序:#include<stdio.h>intmain(){ charqueue[20],x; inti=0; while((x=getchar())!=EOF){ if(x=='(') i++; else if(x==')') i--; if(i<0){ printf("error\n"); return0; } } printf("right\n"); return0;}4.13程序:#include<stdio.h>#include<string.h>intmain(){ chars[20]; scanf("%s",s); chart[20]; scanf("%s",t); for(inti=0;i<strlen(s);i++){ if(s[i]==t[0]){ intk=0,j=i; for(;k<strlen(t);k++,j++) if(s[j]==t[k]) continue; else break; if(k==strlen(t)){ s[i]='\0'; char*str=s+i+k; strcat(s,str); i--; } } } printf("%s",s); return0;}4.16程序:#include<stdio.h>#include<string.h>intStrCompare(char*s,char*t){ inti; for(i=0;i<=strlen(s);i++){ if(s[i]==t[i]) continue; if(s[i]>t[i]) return1; if(s[i]<t[i]) return-1; } if(i==strlen(s)+1) return0;}intmain(){ charstr1[100],str2[100]; scanf("%s",str1); scanf("%s",str2); printf("%d",StrCompare(str1,str2)); return0;}数据调试3.16调试结果:3.18调试结果:4.13调试结果:4.16调试结果:实验结果分析与总结3.16:输入序列“HSHHSS”,其中H代表硬座,S代表软座,输出结果为“IIOIIIOIOOOO”,其中I代表入站,O代表出站。检验可得该结果正确,程序运行正确。3.18:输入表达式”34*(35+36)/(1+2)”,判断结果为right;输入表达式”34*35+36)/(1+2”,判断结果为error。可见程序运行正确。4.13:输入串s:6547832783456783,输入串t:783。从串s中删除串t,得到结果为:6542456。可见程序运行正确。4.18:输入”abcdefg”和”bcd”比拟,程序返回负值;输入”polont”和”abgek”比拟,程序返回正值;输入”abdc”和”abdc”比拟,程序返回0。可见程序运行正确。总结:1通过本次实验掌握了栈和串的一些根本操作,如构造空的栈,入栈和出栈,返回栈顶元素,删除栈顶元素等;串的定义以及串的建立,计算串的长度,删除子串、比拟串的大小以及

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论