资源描述:
《习题课---数据结构(c语言版)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、习题31.设s='IAMASTUDENT',t='GOOD',q='WORKER'.求:StrLength(s),StrLength(t),SubString(s,8,7),SubString(t,2,1),Index(s,'A'),Index(s,t),Replace(s,'STUDENT',q),Concat(SubString(s,6,2),Concat(t,SubString(s,7,8))).2.已知下列字符串a='THIS',f='ASAMPLE',c='GOOD',d='NE',b='',s=Concat(a,Concat
2、(SubString(f,2,7),Concat(b,SubString(a,3,2)))),t=Replace(f,SubString(f,3,6),c),u=Concat(SubString(c,3,1),d),g='IS'v=Concat(s,Concat(b,Concat(t,Concat(b,u)))),试问:s,t,v,StrLength(s),Index(v,g),Index(u,g)各是什么?3.试问执行以下函数会产生怎样的输出结果?voiddemonstrate(){StrAssign(s,'THISISABOOK')
3、;Replace(s,SubString(s,3,7),)'ESEARE');StrAssign(t,Concat(s,'S'));StrAssign(u,'XYXYXYXYXYXY');StrAssign(v,SubSting(u,6,3));StrAssign(w,'W');printf('t=',t,'v=',v,'u=',Replace(u,v,w));}//demonstrate4.假设有二维数组A6×8,每个元素用相邻的6个字节存储,存储器按字节编址.已知A的起始存储位置(基地址)为1000,计算:(1)数组A的体积(即存储
4、量);(2)数组A的最后一个元素a5,7的第一个字节的地址;(3)按行存储时,元素a14的第一个字节的地址;(4)按列存储时,元素a47的第一个字节的地址;5.假设按低下标优先存储整数数组A9×3×5×8时,第一个元素的字节地址是100,每个整数占四个字节.问下列元素的存储地址是什么.(1)a0000(2)a1111(3)a3125(4)a82476.按高下标优先存储方式(以最右的下标为主序),顺序列出数组A2×2×3×3中所有元素aijkl,,为了简化表达,可以只例出(i,j,k,l)的序列.7.设有上三角矩阵(aij)n×n,将其上
5、三角元素逐行存于数组B[m]中(m充分大),使得B[k]=aij且k=fl(i)+f2(j)+c.试推导出函数fl,f2和常数c(要求fl和f2中不含常数项).8.设有三对角矩阵(aij)n×n,将其三条对角线上的元素逐行存于数组B[3][n]中,使的元素B[u][v]=aij,试推导出从(i,j)到(u,v)的下标变换公式.9.求下列广义表操作的结果:(1)GetHead【(p,h,w)】;(2)GetTail【(b,k,p,h)】;(3)GetHead【((a,b),(c,d))】;(4)GetTail【((a,b),(c,d))】
6、;(5)GetHead【GetTail【((a,b),(c,d))】】;(6)GetTail【GetHead【((a,b),(c,d))】】;(7)GetHead【GetTail【GetHead【((a,b),(c,d))】】】;(8)GetTail【GetHead【GetTail【((a,b),(c,d))】】】;注意:【】是函数的符号.10.利用广义表的GetHead和GetTail操作写出如上题的函数表达式,把原子banana分别从下列广义表中分离出来.(1)L1=(apple,pear,banana,orange);(2)L2=
7、((apple,pear),(banana,orange));(3)L3=(((apple),(pear),(banana),(orange)));(4)L4=(apple,(pear),((banana)),(((orange)));(5)L5=((((apple))),((pear)),(banana),orange);(1)L6=((((apple),pear),banana),orange);(2)L7=(apple,(pear,(banana),orange));11.按教科书5.5节中图5.8所示结点结构,画出下列广义表的存
8、储结构图,并求它的深度.(1)((()),a,((b,c),(),d),(((e))))(2)((((a),b)),(((),d),(e,f)))