资源预览内容
第1页 / 共40页
第2页 / 共40页
第3页 / 共40页
第4页 / 共40页
第5页 / 共40页
第6页 / 共40页
第7页 / 共40页
第8页 / 共40页
第9页 / 共40页
第10页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
串的索引存储一.串修改的原则: 1.字符的修改:刷新覆盖,索引区不发生改变。 2.字符的删除:删除字符后,其后面的字符发生移动,索引发生改变,即减一。 3.字符的插入:插入字符后,其后面的字符发生移动,索引发生改变,即加一。 4.字符串的等长修改:刷新覆盖,索引区不发生改变。 5.插入字符串长度比原串长:需要为多余的字符增添空间。 6.插入字符串长度比原串短: 7.删除一行:索引发生改变,数据区不发生改变。 8.插入一行:索引发生改变,数据区发生改变。二.一段有错误的参考程序:mian() / 字符串等长修改操作 Int a=5;/分别是字符的修改和删除操作 b=3; /字符串级插入操作 /缺少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 );表二:字符串在计算机中的存储样式0000000100020003000400050006000700080009000A000B000C000Dmian()Inta000E000F0010001100120013001400150016001700180019001A001B=5;b=3;c=a+001C001D001E001F0020002100220023002400250026002700280029b;c=m+;d=c+002A002B002C002D002E002F00300031003200330034003500360037;printf(“%d%d00380039003A003B003C003D003E003F004000410042004300440045%d“,c,d);0046004700480049004A004B004C004D004E004F0050005100520053表三:串的索引存储示意图:串名串头位置串长10020030040050060070080090000000007000900130018001F0026002C004272105776222四.修改上面错误的程序 (一)字符级的修改 1.字符的插入操作 例如:在名为700的字符串中“d=c+;” 中插入“+”形成新的字符串“d = c + + ; ”。这时,表一:字符串内容表100200300400500600700800900mian()Int a = = 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+002A002B002C002D002E002F00300031003200330034003500360037;printf(“%d%d00380039003A003B003C003D003E003F004000410042004300440045%d“,c,d);d=0046004700480049004A004B004C004D004E004F0050005100520053c+;表三:串的索引存储示意图:串名串头位置串长10020030040050060070080090000000007000900130018001F0026(0044)002C004272105776(7)2222.字符的插入操作例如:在串名为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()Inta000E000F0010001100120013001400150016001700180019001A001B=5;b=3;c=a+001C001D001E001F0020002100220023002400250026002700280029b;c=m+;d=c+002A002B002C002D002E002F00300031003200330034003500360037;printf(“%d%d00380039003A003B003C003D003E003F004000410042004300440045%d“,c,d);d=0046004700480049004A004B004C004D004E004F0050005100520053c+;表三:串的索引存储示意图:串名串头位置串长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 );表二:字符串在计算机中的存储样式(蓝色表示不能被访问的空间)0000000100020003000400050006000700080009000A000B000C000Dmian()inta000E000F0010001100120013001400150016001700180019001A001B=5;b=3;c=a+001C001D001E001F0020002100220023002400250026002700280029b;c=m+;d=c+002A002B002C002D002E002F00300031003200330034003500360037;printf(“%d%d00380039003A003B003C003D003E003F004000410042004300440045%d“,c,d);d=004600470048004900
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号