串的索引存储.doc

上传人:小** 文档编号:88707571 上传时间:2019-05-07 格式:DOC 页数:40 大小:228KB
返回 下载 相关 举报
串的索引存储.doc_第1页
第1页 / 共40页
串的索引存储.doc_第2页
第2页 / 共40页
串的索引存储.doc_第3页
第3页 / 共40页
串的索引存储.doc_第4页
第4页 / 共40页
串的索引存储.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《串的索引存储.doc》由会员分享,可在线阅读,更多相关《串的索引存储.doc(40页珍藏版)》请在金锄头文库上搜索。

1、串的索引存储一.串修改的原则: 1.字符的修改:刷新覆盖,索引区不发生改变。 2.字符的删除:删除字符后,其后面的字符发生移动,索引发生改变,即减一。 3.字符的插入:插入字符后,其后面的字符发生移动,索引发生改变,即加一。 4.字符串的等长修改:刷新覆盖,索引区不发生改变。 5.插入字符串长度比原串长:需要为多余的字符增添空间。 6.插入字符串长度比原串短: 7.删除一行:索引发生改变,数据区不发生改变。 8.插入一行:索引发生改变,数据区发生改变。二.一段有错误的参考程序:mian() / 字符串等长修改操作 Int a=5;/分别是字符的修改和删除操作 b=3; /字符串级插入操作 /缺

2、少c,d的定义,行插入 c=a+b; c=m+; /行级的删除操作 d=c+; /字符的插入操作 printf(%d%d%d,c,d); /字符串的删除main() int a=5; int b=3; int c,d; c=a+b; d=c+; printf(%d%d,c,d);三.三种表格: 表一:字符串内容表100200300400500600700800900mian()Int a = = 5;b =3;c = a + b;c = m + +;d = c + ;printf(“% d % d % d”,c ,d );表二:字符串在计算机中的存储样式00000001000200030004

3、00050006000700080009000A000B000C000Dmian()Inta000E000F0010001100120013001400150016001700180019001A001B=5;b=3;c=a+001C001D001E001F0020002100220023002400250026002700280029b;c=m+;d=c+002A002B002C002D002E002F00300031003200330034003500360037;printf(“%d%d00380039003A003B003C003D003E003F0040004100420043004

4、40045%d“,c,d);0046004700480049004A004B004C004D004E004F0050005100520053表三:串的索引存储示意图:串名串头位置串长10020030040050060070080090000000007000900130018001F0026002C004272105776222四.修改上面错误的程序 (一)字符级的修改 1.字符的插入操作 例如:在名为700的字符串中“d=c+;” 中插入“+”形成新的字符串“d = c + + ; ”。这时,表一:字符串内容表100200300400500600700800900mian()Int a =

5、= 5;b =3;c = a + b;c = m + +;d = c + + ;printf(“% d % d % d”,c ,d );表二:字符串在计算机中的存储样式(蓝色表示不能被访问的空间)0000000100020003000400050006000700080009000A000B000C000Dmian()Inta000E000F0010001100120013001400150016001700180019001A001B=5;b=3;c=a+001C001D001E001F0020002100220023002400250026002700280029b;c=m+;d=c+00

6、2A002B002C002D002E002F00300031003200330034003500360037;printf(“%d%d00380039003A003B003C003D003E003F004000410042004300440045%d“,c,d);d=0046004700480049004A004B004C004D004E004F0050005100520053c+;表三:串的索引存储示意图:串名串头位置串长10020030040050060070080090000000007000900130018001F0026(0044)002C004272105776(7)2222.字

7、符的插入操作例如:在串名为300的字符串中“Int a=5; ”中删除“=”形成新的字符串“Int a=5; ”。此时:表一:字符串内容表100200300400500600700800900mian()Int a = 5;b =3;c = a + b;c = m + +;d = c + + ;printf(“% d % d % d”,c ,d );表二:字符串在计算机中的存储样式(蓝色表示不能被访问的空间)0000000100020003000400050006000700080009000A000B000C000Dmian()Inta000E000F00100011001200130014

8、00150016001700180019001A001B=5;b=3;c=a+001C001D001E001F0020002100220023002400250026002700280029b;c=m+;d=c+002A002B002C002D002E002F00300031003200330034003500360037;printf(“%d%d00380039003A003B003C003D003E003F004000410042004300440045%d“,c,d);d=0046004700480049004A004B004C004D004E004F0050005100520053c+

9、;表三:串的索引存储示意图:串名串头位置串长10020030040050060070080090000000007000900130018001F0026002C00427210(9)57762223.字符的修改:例如:在串名为300的字符串中“Int a = = 5; ”中删除“I”改成“i”形成新的字符串“int a=5; ”。此时:表一:字符串内容表100200300400500600700800900mian()int a = 5;b =3;c = a + b;c = m + +;d = c + + ;printf(“% d % d % d”,c ,d );表二:字符串在计算机中的存储

10、样式(蓝色表示不能被访问的空间)0000000100020003000400050006000700080009000A000B000C000Dmian()inta000E000F0010001100120013001400150016001700180019001A001B=5;b=3;c=a+001C001D001E001F0020002100220023002400250026002700280029b;c=m+;d=c+002A002B002C002D002E002F00300031003200330034003500360037;printf(“%d%d00380039003A003B003C003D003E003F004000410042004300440045%d“,c,d);d=004600470048004900

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

当前位置:首页 > 商业/管理/HR > 管理学资料

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