数据结构作业系统80题.doc

上传人:公**** 文档编号:543155147 上传时间:2023-03-22 格式:DOC 页数:79 大小:274.51KB
返回 下载 相关 举报
数据结构作业系统80题.doc_第1页
第1页 / 共79页
数据结构作业系统80题.doc_第2页
第2页 / 共79页
数据结构作业系统80题.doc_第3页
第3页 / 共79页
数据结构作业系统80题.doc_第4页
第4页 / 共79页
数据结构作业系统80题.doc_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《数据结构作业系统80题.doc》由会员分享,可在线阅读,更多相关《数据结构作业系统80题.doc(79页珍藏版)》请在金锄头文库上搜索。

1、数据结构作业系统80道题-免费版1.16 试写一算法,如果三个整数X,Y和Z的值不是依次非递增的,则通过交换,令其为非递增。要求实现下列函数:void Descend(int &x, int &y, int &z); /* 按从大到小顺序返回x,y和z的值 */void Descend(int &x, int &y, int &z)/* 按从大到小顺序返回x,y和z的值 */ if(xy)int t=x;x=y;y=t; if(xz)int t=x;x=z;z=t; if(yz)int t=y;y=z;z=t;1.17 已知k阶裴波那契序列的定义为 f0=0, f1=0, ., fk-2=0,

2、 fk-1=1; fn=fn-1+fn-2+.+fn-k, n=k,k+1,.试编写求k阶裴波那契序列的第m项值的函数算法,k和m均以值调用的形式在函数参数表中出现。要求实现下列函数:Status Fibonacci(int k, int m, int &f);/* 如果能求得k阶斐波那契序列的第m项的值f,则返回OK;*/* 否则(比如,参数k和m不合理)返回ERROR */Status Fibonacci(int k, int m, int &f) /* 求k阶斐波那契序列的第m项的值f */ int tmpk=k; int tmpm=0; int curPos=k; int *tmpRe

3、sults; if(k2 | m0)return ERROR; if(m=0)f=0;return OK; if(mk-1)f=0;return OK; if(m=k-1)f=1;return OK; /初始化表 tmpResults=(int *)malloc(k*sizeof(int); while(tmpmk-1) *(tmpResults+tmpm)=0; tmpm+; /while *(tmpResults+tmpm)=1; tmpm=k; /初始化结束 do tmpk=k; f=0; while(tmpk-) f+=*(tmpResults+tmpk); if(f*(tmpResu

4、lts+tmpk)return ERROR; if(curPos=k)curPos=1; else curPos+; *(tmpResults+curPos-1)=f; while(tmpm+ARRSIZE或对某个k(1kn)使k!2kMAXINT时,应按出错处理。注意选择你认为较好的出错处理方法。要求实现下列函数:Status Series(int ARRSIZE, int a);/* 求i!*2i序列的值并依次存入长度为ARRSIZE的数组a; */* 若所有值均不超过MAXINT,则返回OK,否则返回OVERFLOW */Status Series(int ARRSIZE, int a)

5、 /* 求i!*2i序列的值并依次存入长度为ARRSIZE的数组a; */* 若所有值均不超过MAXINT,则返回OK,否则返回OVERFLOW */ int i=1,j; int n1=1,n2=2; while(i1) n1*=j; n2*=2; j-; if(n1*n2)MAXINT) return OVERFLOW; ai-1=n1*n2; i+; if(iARRSIZE+1) return OVERFLOW; else return OK; 1.20 试编写算法求一元多项式 P(x) = a0 + a1x + a2x2 + . + anxn的值P(x0),并确定算法中每一语句的执行次

6、数和整个算法的时间复杂度。注意选择你认为较好的输入和输出方法。要求实现下列函数:float Polynomial(int n, int a, float x0);/* 求一元多项式的值P(x0)。 */* 数组a的元素ai为i次项的系数,i=0,1,.,n */float Polynomial(int n, int a, float x)/* 求一元多项式的值P(x)。 */* 数组a的元素ai为i次项的系数,i=0,.,n */ int i=0,j; float xx=0,num; while(i=1) num*=x; j-; xx+=ai*num; i+; return xx;2.11 设顺序表L中的数据元素递增有序。试写一算法,将x插入到L的适当位置上,并保持该表的有序性。要求实现下列函数:void InsertOrderList(SqList &L, ElemType x)/* 在有序的顺序表 L 中保序插入数据元素 x */顺序表类型定义如下:typedef struct ElemType *elem; int length;

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

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号