欢迎来到天天文库
浏览记录
ID:40928940
大小:270.00 KB
页数:13页
时间:2019-08-11
《字符串、稀疏矩阵实验(实验四)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验四字符串、稀疏矩阵实验一.实验目的及要求(1)熟悉字符串类型的实现方法,并完成串的一些基本操作;(2)掌握稀疏矩阵的三元组顺序表存储表示,并实现矩阵的转置运算。二.实验内容:(1)编程实现两个串S1和S2的比较。(要求自己设计串的存储结构,并编写比较函数,不要调用系统提供的函数)(2)编程实现稀疏矩阵的三元组顺序表示方法及基本操作的实现(建立、输出、转置等)。(3)编程实现稀疏矩阵的十字链表存储表示及基本操作的实现(建立、输出等)。三.实验主要流程、基本操作或核心代码、算法片段(该部分如不够填写,请另加附页
2、)(1)编程实现两个串S1和S2的比较。(要求自己设计串的存储结构,并编写比较函数,不要调用系统提供的函数)Ø程序代码:头文件#defineOK1#defineERROR0#defineOVERFLOW-1#definedayu1#definexiaoyu-2#definedengyu0typedefintStatus;typedefstruct{char*ch;intlength;}HString;StatusStrAssign(HString&S);StatusStrCompare(HStringS,HSt
3、ringT);主函数:#include"stdio.h"#include"stdlib.h"#include"1.h"intmain(){charc;//用于读取换行符,便于StrAssign函数中gets读取串的操作HStringS,T;printf("请确定第一个字符串的长度");scanf("%d",&S.length);c=getchar();StrAssign(S);//初始化S的ch部分printf("请确定第二个字符串的长度");scanf("%d",&T.length);c=getcha
4、r();StrAssign(T);//初始化T的ch部分printf("两字符串的比较结果为:");inta;//承载比较结果a=StrCompare(S,T);//字符串比较函数if(a==-2){printf("第一个字符串小于第二个字符串");}elseif(a==0){printf("第一个字符串等于第二个字符串");}elseif(a==1){printf("第一个字符串大于第二个字符串");}else{printf("比较程序出错");returnERROR;}returnOK;
5、}功能函数:#include"stdio.h"#include"stdlib.h"#include"1.h"//初设S,TStatusStrAssign(HString&S){S.ch=(char*)malloc(sizeof(char)*(S.length+1));if(!S.ch)exit(OVERFLOW);printf("请输入相应长度的字符串");gets(S.ch);returnOK;}//比较函数StatusStrCompare(HStringS,HStringT){inti=0;while(
6、i<=S.length&&i<=T.length){if(S.ch[i]T.ch[i]){returndayu;}}if(S.length==T.length){returndengyu;}if(S.length>T.length){returndayu;}if(S.length7、序表示方法及基本操作的实现(建立、输出、转置等)。程序代码部分:头文件:#defineOK1#defineERROR0#defineOVERFLOW-2#definemaxsize30typedefintStatus;typedefintElemType;typedefstruct{inti,j;ElemTypee;}Triple;typedefstruct{Tripledata[maxsize];intmu,nu,tu;}TSMatrix;StatusInit(TSMatrix&trip);voidvisit8、(TSMatrixtrip);voidTranspose(TSMatrixtrip,TSMatrix&trip1);主函数:#include"stdio.h"#include"stdlib.h"#include"1.h"voidmain(){TSMatrixtrip;printf("请输入矩阵规模(行和列数,空格隔开)");scanf("%d%d",&trip.mu,&trip.n
7、序表示方法及基本操作的实现(建立、输出、转置等)。程序代码部分:头文件:#defineOK1#defineERROR0#defineOVERFLOW-2#definemaxsize30typedefintStatus;typedefintElemType;typedefstruct{inti,j;ElemTypee;}Triple;typedefstruct{Tripledata[maxsize];intmu,nu,tu;}TSMatrix;StatusInit(TSMatrix&trip);voidvisit
8、(TSMatrixtrip);voidTranspose(TSMatrixtrip,TSMatrix&trip1);主函数:#include"stdio.h"#include"stdlib.h"#include"1.h"voidmain(){TSMatrixtrip;printf("请输入矩阵规模(行和列数,空格隔开)");scanf("%d%d",&trip.mu,&trip.n
此文档下载收益归作者所有