欢迎来到天天文库
浏览记录
ID:42444536
大小:293.13 KB
页数:14页
时间:2019-09-15
《《数据结构实践》课程实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《数据结构实践》课程实验报告实验项目名称:字符串•矩阵•广义表姓名学号班级实验地点指导教师时间一、实验目的及要求1、熟悉串的顺序存储结构,和动态数组的使用;2、掌握数组的存储,实现矩阵的存储于简单计算;3、了解广义表的存储结构,掌握广义表的按层次输岀方法。二、实验设备(环境)及要求坏境:WINDOWSXP系统,VC6.0要求:1、实现字符串中字符的删除;2、稀疏矩阵采用三元组顺序表存储结构,完成矩阵的转置运算;3、实现广义表的层次输出。三、实验内容及分析:1、已知字符串,删除其屮所有的给定字符。先找到给定字符
2、的下标位置,然后从该位置开始直至字符串结束把所冇字符向前移动一个位置。返回当前的字符下标位置继续删除,宜至所有给定字符都被删除。2、已知稀疏矩阵A屮的非零元三元组的排列次序是先按行下标排列,在行下标相同时按列下标排列。要求矩阵B中的非零元三元组的排列次序也是先按行下标排列,在行下标相同吋按列下标排列。矩阵的转置运算只要把稀疏矩阵A行下标赋予给稀疏矩阵B屮的列下标,把稀疏矩阵A的列下标赋予给稀疏矩阵B的行下标。为使转置后的稀疏矩阵B仍先按行下标在案列下标排列,循环搜索吋按稀疏矩阵A的列下标一次查找和排放稀疏矩阵
3、B的数据元索。3、广义表采用头链和尾链存储结构,按层次输出广义表。对于头链和尾链存储结构存储的广义表,相同层次的子表由尾链构成,下一层次的原子或子表出头链构成,因此遍历输岀所有原子项算法的主体结构就是循环加递归。四、程序的调试及运行结果1、删除字符串shujujiegou中的字符u:#inelude#defineMaxNum100typedefstruct{charstr[MaxNum];intlength;}SStrType;intSStrDelCh2(SStrType*s,charch,
4、intstart){inti=start,n二s-〉length,j;while(istr[i]!=ch)i++;if(i>=n)return-1;else{for(j=i+l;j<=n;j++)s->str[jT]二s-〉str[j];s->length=s->length-l;returni;)Ich)*s=&str;voidSStrDelChMore(SStrType*s,char{inti=0,n=s->length;while(i>=0&&i5、);Ivoidmain(void){SStrTypestr二{"shujujiegou",11},charch二'u;inti;for(i=0;ilength;i++)printf(,z%c,z,s->str[i]);SStrDelChMore(s,ch);printf(〃rT);for(i=0;ilength;i++)printf(〃%c〃,s->str[i]);printf(〃〃);运行结果:2、稀疏矩阵的转置:#inelude^defineMaxNum100typ6、edefintDataTypc;typedefstruct{inti;intj;DataTypedata;ijTupleType;typedefstructinb三inC三inCtocarTupleTypeitem〔MaxNum〕-)TSTypeivoidTranQSTypepTSType%b)bl〉n"a・三bl〉01Ha・bl〉tocalHa・toCal-for(tbHpjHl八tb〈a・tot巴二++)亠for(tauo八ta〈a・botal二a++)if(a・item〔ba〕・jHHj)亠bl〉ite7、m〔tb〕•u-a・item〔ta〕・j-bl〉item〔tb〕・jua・itenlFLi-bl〉item〔tb〕•dataHa.item〔ta〕・data-tb++八voidmain(void)TSTypean目33"6,亠F6,8).?09)二4&PQ02)二7"6,pFH6}二」TSType5rin-t?rTran(a,&b);printfC置换前的稀疏矩阵:0;printf(〃rT);for(k=0;k8、].i,a.item[k].j,a.item[k].data);printfC置换后的稀疏矩阵:〃);printf(〃rT);for(k=0;k#inelude
5、);Ivoidmain(void){SStrTypestr二{"shujujiegou",11},charch二'u;inti;for(i=0;ilength;i++)printf(,z%c,z,s->str[i]);SStrDelChMore(s,ch);printf(〃rT);for(i=0;ilength;i++)printf(〃%c〃,s->str[i]);printf(〃〃);运行结果:2、稀疏矩阵的转置:#inelude^defineMaxNum100typ
6、edefintDataTypc;typedefstruct{inti;intj;DataTypedata;ijTupleType;typedefstructinb三inC三inCtocarTupleTypeitem〔MaxNum〕-)TSTypeivoidTranQSTypepTSType%b)bl〉n"a・三bl〉01Ha・bl〉tocalHa・toCal-for(tbHpjHl八tb〈a・tot巴二++)亠for(tauo八ta〈a・botal二a++)if(a・item〔ba〕・jHHj)亠bl〉ite
7、m〔tb〕•u-a・item〔ta〕・j-bl〉item〔tb〕・jua・itenlFLi-bl〉item〔tb〕•dataHa.item〔ta〕・data-tb++八voidmain(void)TSTypean目33"6,亠F6,8).?09)二4&PQ02)二7"6,pFH6}二」TSType5rin-t?rTran(a,&b);printfC置换前的稀疏矩阵:0;printf(〃rT);for(k=0;k8、].i,a.item[k].j,a.item[k].data);printfC置换后的稀疏矩阵:〃);printf(〃rT);for(k=0;k#inelude
8、].i,a.item[k].j,a.item[k].data);printfC置换后的稀疏矩阵:〃);printf(〃rT);for(k=0;k#inelude
此文档下载收益归作者所有