结构分析方案 .docx
《结构分析方案 .docx》由会员分享,可在线阅读,更多相关《结构分析方案 .docx(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品名师归纳总结试验内容和目的:数据结构试验可编辑资料 - - - 欢迎下载精品名师归纳总结把握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培育书写规范文档的技巧。学习基本的查找和排序技 术。让我们在实际上机中具有编制相当规模的程序的才能。养成一种良好的程序设计风格。试验教材:数据结构题集 及基本操作 , 如入栈、出栈等,栈的次序储备结构和链式储备结构,以便在实际问题背景下敏捷应用。本程序采纳的是链栈结构,具有初始化一个栈、PUSH、POP、显示全部栈里的元素四个功能。 循环队列把握队列的特点 先进先出 FIFO及基本操作 , 如入队、出队等,学会循环队列的实现,
2、以便在实际问题背景下敏捷运用。本程序具有 初始化一个队列、入队、出队、显示队列的全部元素、队列长度五 个功能。、试验代码 栈程序代码:#include #include #define Stack_Size 6#define ERROR 0#define OK 1typedef int SElemType。typedef struct SNodeSElemType data 。struct SNode *next。可编辑资料 - - - 欢迎下载精品名师归纳总结SNode,*LinkStack。int CreatTwoLinkStack &head,int nint i。SNode *p。he
3、ad=LinkStackmallocsizeofSNode。head-next=NULL。printf请输入数据 数字:n 。fori=n。i0 。-ip=SNode *mallocsizeofSNode。scanf%d,&p-data。p-next=head-next 。head-next=p 。return 1。int menu_selectint sn。for 。scanf%d,&sn 。ifsn6printfnt输入错误,请重新输入 n 。可编辑资料 - - - 欢迎下载精品名师归纳总结elsebreak 。可编辑资料 - - - 欢迎下载精品名师归纳总结return sn。int P
4、ushLinkStack &top,SElemType eSNode *q。q=LinkStackmallocsizeofSNode。if.qprintf溢出.n 。returnERROR。可编辑资料 - - - 欢迎下载精品名师归纳总结q-data=e 。q-next=top-next。top-next=q 。returnOK 。int PopLinkStack &top,SElemType &eSNode *q。if.top-nextprintferror.n。returnERROR。 e=top-next-data。q=top-next 。top-next=q-next。freeq 。r
5、eturnOK 。void mainint e。LinkStack top。printf1.初始化一个栈。 n2.PUSH。n3.POP。n4. 显示全部栈里的元素。 n5. 终止。n 。while1switchmenu_selectcase 1:ifCreatTwotop,Stack_SizeprintfSuccess.n。break 。case 2:printfPush:n。scanf%d,&e 。ifPushtop,eprintfSuccess.n。break 。case 3:ifPoptop,eprintfSuccess.n。printf%dn,e。break 。case 4:Link
6、Stack p。printf全部栈里的元素 :n 。p=top 。whilep-next可编辑资料 - - - 欢迎下载精品名师归纳总结p=p-next 。printf%7d,p-data。printfn。break 。case 5:return 。运行结果: 循环队列程序代码:#include #include #define OVERFLOW -1#define OK 1#define ERROR 0#define MAXSIZE 100 typedef structint *elem。/ 队列储备空间int front。可编辑资料 - - - 欢迎下载精品名师归纳总结int rear。S
7、qQueue。/ 判定挑选是否正确int menu_selectint sn。for 。scanf%d,&sn 。ifsn6printfnt输入错误,请重新输入 n 。可编辑资料 - - - 欢迎下载精品名师归纳总结elsebreak 。可编辑资料 - - - 欢迎下载精品名师归纳总结return sn。可编辑资料 - - - 欢迎下载精品名师归纳总结/ 参数 传出SqQueue &Q循, int InitQueueSqQueue &Q环队列 空可编辑资料 - - - 欢迎下载精品名师归纳总结Q.elem=int *mallocMAXSIZE*sizeofint。if.Q.elemexitOV
8、ERFLOW 。Q.front=Q.rear=-1。forint i=0。iQ.elemi=-1。return OK 。/ 返回 Q的元素个数int QueueLengthSqQueue Qreturn Q.rear-Q.front+MAXSIZE%MAXSIZE 。/ 显示队列的元素void DisplaySqQueue Qforint i=0。i。i+ifQ.elemi.=-1printf%d,Q.elemi。printfn。/ 入队可编辑资料 - - - 欢迎下载精品名师归纳总结int EnQueueSqQueue &Q,int eQ.rear=Q.rear+1%MAXSIZE。ifQ.
9、rear=Q.frontreturn ERROR。Q.elemQ.rear=e。return OK 。/ 出队int DeQueueSqQueue &Q,int &eifQ.front=Q.rearreturn ERROR。e=Q.elemQ.front+1。Q.elemQ.front+1=-1。Q.front=Q.front+1%MAXSIZE 。return OK 。void mainSqQueue Q。InitQueueQ 。int elem,e。printf请输入队列元素 以 0 终止:n 。scanf%d,&elem 。whileelem.=0EnQueueQ,elem。scanf%
10、d,&elem 。printf队列为: n 。DisplayQ 。printf1.初始化一个队列。 n2. 入队。n3. 出队。n4. 显示队列的全部元素。 n5. 队列长度 :n6.终止。n 。while1switchmenu_selectcase 1:printf请输入队列元素 以 0 终止:n 。scanf%d,&elem 。whileelem.=0EnQueueQ,elem。scanf%d,&elem 。printf队列为: n 。可编辑资料 - - - 欢迎下载精品名师归纳总结case 2:DisplayQ 。fflushstdin。break 。scanf%d,&elem 。EnQ
11、ueueQ,elem。printf队列为: n 。DisplayQ 。fflushstdin。break 。case 3:DeQueueQ,elem。printf队列为: n 。DisplayQ 。break 。case 4:printfn队列的全部元素 :n 。DisplayQ 。break 。case 5:printf%dn,QueueLengthQ。break 。case 6:return 。可编辑资料 - - - 欢迎下载精品名师归纳总结运行结果:可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结试验二、数组、试验内容:数组一般不做插入或删
12、除操作,也就是说,一旦建立了数组, 就结构中的数据元素个数和元素之间的关系就不再发生变动。本程序数组的大小定义为 3*3 ,可以通过修改“ #define M ”来变动。本程序具有矩阵相加、矩阵 A转置、矩阵 B转置、矩阵相乘四个功能。、试验代码:#include #define M 3void MatrixAddint m1MM,int m2MM,int resultMM/两个矩阵 m1和 m2相加, 结果放到 resultint i,j。for i=0。iforj=0。jresultij=m1ij+m2ij。void MatrixTramsint m1MM,int resultMM/矩阵转
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 结构分析方案 结构 分析 方案
限制150内