ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:108.67KB ,
资源ID:20086916      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20086916.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构实验四字符串稀疏矩阵实验Word下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构实验四字符串稀疏矩阵实验Word下载.docx

1、 cinT1i; input T2 size: T20=n;input T2 data:T2i;T1Compare(T1,T2)T20) return else if(T10T2i) return else if(T1i return =/SString.h:#includeusing namespace std;const int MAX=255;typedef unsigned char SStringMAX+1;char Compare(SString T1,SString T2); 运行结果:(2) 编程实现稀疏矩阵的三元组顺序表示方法及基本操作的实现(建立、输出、转置等)。/Main

2、.cppTSMatrix.hint main() TSMatrix T,M; int count;输入矩阵的行数,列数,非零元个数:M.muM.nuM.tu; for (count=1;count=M.tu;count+) coutM.datacount.jM.datacount.e; TransposeSMatrix(M,T);i j e=T.tu; T.datacount.i T.datacount.jT.datacount.e/TSMatrix.cppStatus TransposeSMatrix(TSMatrix M,TSMatrix &T) int col,p,q; T.mu=M.n

3、u;T.nu=M.mu;T.tu=M.tu; if(T.tu) q=1; for(col=1;col=M.nu;+col) for(p=1;pnext=NULL;Status DestroyQueue(LinkQueue & /销毁队列Q while(Q.front) Q.rear=Q.front-next; free(Q.front); Q.front=Q.rear;Status EnQueue (LinkQueue &Q,QElemType e) /插入元素a为Q的新的队尾元素 QNode *p; p=(QueuePrt)malloc(sizeof(QNode);p) exit(ERROR

4、); p-data=e;p- Q.rear-next=p; Q.rear=p;Status DeQueue (LinkQueue &Q,QElemType &e) /删除Q的队头元素,用e返回其值 if(Q.front=Q.rear) return ERROR; p = Q.front- e=p-data;next=p- if (Q.rear=p) Q.rear=Q.front; free(p);Status QueueEmpty(LinkQueue Q) /判断对是否为空 if(Q.front=Q.rear)return ERROR;void Menu(LinkQueue & /输出选择界面

5、 int select=1; QElemType e; while(select)-请选择以下功能:-1,入队-2,出队-3,判断队空-0,退出程序请输入你的选择select; switch (select) case 0:break; case 1: coute; if(EnQueue(Q,e) cout入队成功 break; case 2: if(DeQueue(Q,e)e出队 case 3: if(QueueEmpty(Q) cout此队不为空 else couttypedef int QElemType;typedef struct QNode QElemType data; stru

6、ct QNode * next;QNode,*QueuePrt; QueuePrt front; QueuePrt rear;LinkQueue;Q);/构造空队列/销毁队列QQ,QElemType e);/插入元素a为Q的新的队尾元素e);/删除Q的队头元素,用e返回其值Status QueueEmpty(LinkQueue Q);/判断对是否为空/输出选择界面#endifB顺序存储:/main.cpp:SqQueue.h SqQueue Q; if(InitQueue(Q)创建队成功 DestroyQueue(Q);/SqQueue.cpp:Status InitQueue(SqQueue

7、 & /创建空队列 Q.base=(QElemType *)malloc(MAXSIZE * sizeof(QElemType); if (!Q.base) exit(ERROR); Q.front=Q.rear=0;Status EnQueue(SqQueue & /插入元素e为Q的新队尾元素 if(Q.rear+1)% MAXSIZE) = Q.front) return ERROR; Q.baseQ.rear=e; Q.rear=(Q.rear+1)%MAXSIZE;Status DeQueue(SqQueue & /删除Q的对头元素,用e返回其值。 if(Q.front = Q.rea

8、r) return ERROR; e=Q.baseQ.front; Q.front=(Q.front+1)%MAXSIZE;Status SqQueueEmpty(SqQueue Q) /判断Q是否为空Status DestroyQueue(SqQueue & /销毁栈 free(Q.base);void Menu(SqQueue & /输出选择菜单 while (select)-请选择一下功能: 1,入队 2,出队 3,判断是否为空 0,退出程序你的选择是:输入插入的数据:队满队空 if(SqQueueEmpty(Q)队未空/SqQueue.h:#ifndef SQQUEUE_H#defin

9、e SQQUEUE_Hconst int MAXSIZE=100;const int MORE=100; QElemType *base; int front ; int rear;SqQueue;/创建空队列/插入元素e为Q的新队尾元素/删除Q的对头元素,用e返回其值。Status SqQueueEmpty(SqQueue Q);/判断Q是否为空/销毁栈/输出选择菜单/ CrossList.hstdio.h#define OK 1;#define ERROR 1;typedef struct OLNode struct OLNode *right,*down;OLNode,*OLink; O

10、Link *rhead,*chead;CrossList;Status CreateSMatrix_OL (CrossList &M);/ CrossList.cppCrossList.hM) int m,n,t,i,j,e,k; OLNode *p,*q;/ if(M) free(M); printf(mu,nu,tu :); scanf(%d %d %d,&m,&n,&t); M.mu=m;M.nu=n;M.tu=t; M.rhead=(OLink*)malloc(m+1)*sizeof(OLink);M.rhead)return ERROR;(M.chead=(OLink*)malloc

11、(n+1)*sizeof(OLink) return ERROR; for(k=1;ki=i;j=j;e=e; if(M.rheadi=NULL|M.rheadi-jj) p-right=M.rheadi;M.rheadi=p; else for(q=M.rheadi;(q-right)&q-right-jright);right=q-right;right=p; if(M.cheadj=NULL|M.cheadj-ii)down=M.cheadj;M.cheadj=p; for(q=M.cheadj;down)&down-i;down);down=q-down;down=p; printf(/main.cpp CrossList M; OLNode *q; CreateSMatrix_OL (M); i j en for (int i=1;i+) if(M.cheadi!=NULL) q=M.cheadi; while(q) printf(%5d%5d%5dn,q-i,q-j,q- q=q-五实验结果的分析与评价(该部分如不够填写,请另加附页)1.稀疏矩阵的存储比较难理解。储存过程较为复杂,但是用与各种计算时比较方便。实验成绩等级分为(90100分)优,(8089分)良,(70-79分)中,(6069分)及格,(59分)不及格。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1