广工AnyView数据结构第15章答案.docx

上传人:h**** 文档编号:790299 上传时间:2018-11-01 格式:DOCX 页数:37 大小:28.39KB
下载 相关 举报
广工AnyView数据结构第15章答案.docx_第1页
第1页 / 共37页
广工AnyView数据结构第15章答案.docx_第2页
第2页 / 共37页
广工AnyView数据结构第15章答案.docx_第3页
第3页 / 共37页
广工AnyView数据结构第15章答案.docx_第4页
第4页 / 共37页
广工AnyView数据结构第15章答案.docx_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、/*【题目】试写一算法,如果三个整数 a,b 和 c 的值不是依次非递增的,则通过交换,令其为非递增。*/void Descend(int for(int i=1;iMAXINT)return ERROR;return OK;/*【题目】假设有 A、B 、C、D、E 五个高等院校进行田径对抗赛,各院校的单项成绩均以存入计算机并构成一张表,表中每一行的形式为:项目名称 性别 校名 成绩 得分编写算法,处理上述表格,以统计各院校的男、女总分和团体总分,并输出。*/void Scores(ResultType *result, ScoreType *score)/* 求各校的男、女总分和团体总分,

2、并依次存入数组 score */* 假设比赛结果已经储存在 result 数组中, */* 并以特殊记录 “, male, , “, 0 (域 scorce=0)*/* 表示结束 */int i=0;while(resulti.sport!=NULL) switch(resulti.schoolname) case A: score0.totalscore+=resulti.score;if(resulti.gender=male)score0.malescore+=resulti.score;elsescore0.femalescore+=resulti.score; break;case

3、B: score1.totalscore+=resulti.score;if(resulti.gender=male)score1.malescore+=resulti.score;elsescore1.femalescore+=resulti.score; break;case C: score2.totalscore+=resulti.score;if(resulti.gender=male)score2.malescore+=resulti.score;elsescore2.femalescore+=resulti.score; break;case D: score3.totalsco

4、re+=resulti.score;if(resulti.gender=male)score3.malescore+=resulti.score;elsescore3.femalescore+=resulti.score; break;case E: score4.totalscore+=resulti.score;if(resulti.gender=male)score4.malescore+=resulti.score;elsescore4.femalescore+=resulti.score; break; i+;/*【题目】试写一算法,对序列 S 的第 i 个元素赋以值 e。序列的类型

5、定义为:typedef struct ElemType *elem;int length; Sequence;*/Status Assign(Sequence elseS.elemi=e;return OK; /*【题目】试写一算法,由长度为 n 的一维数组 a 构建一个序列 S。序列的类型定义为:typedef struct ElemType *elem;int length; Sequence;*/Status CreateSequence(Sequence return p;/*【题目】链表的结点和指针类型定义如下typedef struct LNode ElemType data;st

6、ruct LNode *next; LNode, *LinkList;试写一函数,构建长度为 2 且两个结点的值依次为 x 和 y 的链表。*/LinkList CreateLinkList(ElemType x, ElemType y) /* 构建其两个结点的值依次为 x 和 y 的链表。*/* 若构建失败,则返回 NULL。 */LNode * p;p=(LNode*)malloc(sizeof(LNode);if(p=NULL)return NULL;elsep-next=(LNode*)malloc(sizeof(LNode);if(p-next=NULL)return NULL;p-

7、data=x;p-next-data=y;p-next-next=NULL;return p;/*【题目】链表的结点和指针类型定义如下typedef struct LNode ElemType data;struct LNode *next; LNode, *LinkList;试写一函数,构建长度为 2 的升序链表,两个结点的值分别为 x 和 y,但应小的在前,大的在后。*/LinkList CreateOrdLList(ElemType x, ElemType y)/* 构建长度为 2 的升序链表。 */* 若构建失败,则返回 NULL。 */LNode * p;p=(LNode*)mall

8、oc(sizeof(LNode);if(p=NULL)return NULL;elsep-next=(LNode*)malloc(sizeof(LNode);if(p-next=NULL)return NULL;p-data=(xnext-data=(xy)?x:y;p-next-next=NULL;return p;/*【题目】试写一算法,实现顺序栈的判空操作StackEmpty_Sq(SqStack S)。顺序栈的类型定义为:typedef struct ElemType *elem; / 存储空间的基址int top; / 栈顶元素的下一个位置,简称栈顶位标int size; / 当前分

9、配的存储容量int increment; / 扩容时,增加的存储容量 SqStack; / 顺序栈*/Status StackEmpty_Sq(SqStack S)/* 对顺序栈 S 判空。 */ /* 若 S 是空栈,则返回 TRUE;否则返回 FALSE */if(S.top=0)return TRUE;return FALSE;/*【题目】试写一算法,实现顺序栈的取栈顶元素操作GetTop_Sq(SqStack S, ElemType / 存储空间的基址int top; / 栈顶元素的下一个位置,简称栈顶位标int size; / 当前分配的存储容量int increment; / 扩容

10、时,增加的存储容量 SqStack; / 顺序栈*/Status GetTop_Sq(SqStack S, ElemType e=S.elemS.top-1;return OK;/*【题目】试写一算法,实现顺序栈的出栈操作Pop_Sq(SqStack / 存储空间的基址int top; / 栈顶元素的下一个位置,简称栈顶位标int size; / 当前分配的存储容量int increment; / 扩容时,增加的存储容量 SqStack; / 顺序栈*/Status Pop_Sq(SqStack e=S.elem-S.top;return OK;/*【题目】若顺序栈的类型重新定义如下。试编写算

11、法,构建初始容量和扩容增量分别为 size 和 inc 的空顺序栈 S。typedef struct ElemType *elem; / 存储空间的基址ElemType *top; / 栈顶元素的下一个位置int size; / 当前分配的存储容量int increment; / 扩容时,增加的存储容量 SqStack2;*/Status InitStack_Sq2(SqStack2 if(S.elem=NULL|sizeS.size)p=(ElemType*)realloc(S.elem,(S.size+S.increment)*sizeof(ElemType);if(p=NULL)retu

12、rn ERROR;S.elem=p;S.size+=S.increment;*(S.top+)=e;return OK;/*【题目】若顺序栈的类型重新定义如下。试编写算法,实现顺序栈的出栈操作。typedef struct ElemType *elem; / 存储空间的基址ElemType *top; / 栈顶元素的下一个位置int size; / 当前分配的存储容量int increment; / 扩容时,增加的存储容量 SqStack2;*/Status Pop_Sq2(SqStack2 e=*(-S.top);return OK;/*【题目】试写一算法,借助辅助栈,复制顺序栈 S1 得到 S2。顺序栈的类型定义为:typedef struct ElemType *elem; / 存储空间的基址int top; / 栈顶元素的下一个位置,简称栈顶位标int size; / 当前分配的存储容量int increment; / 扩容时,增加的存储容量 SqStack; / 顺序栈

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 参考答案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。