Page 75 - 高中 信息技术 选择性必修1 数据与数据结构
P. 75

 3.2 用字符串存储数据







                         (1)串的顺序存储结构。
                         串的顺序存储结构与一维数组的类似,用一组地址连续的存储单元存储串值的字符
                    序列,如图3-6所示。字符串的字符依次存放在这些存储单元中。因此,串可以用数组

                    表示。


                                串s      2     0     1    8     0    1     0     5

                               位置       0     1     2    3     4    5     6     7

                                                       图3-6 串的顺序存储结构


                                             广东教育出版社
                         字符串的顺序存储结构,使得字符的查询、访问变得简单。只要知道字符在字符串中
                    的位置,就可以像访问数组元素一样通过位置访问这个字符。

                         但是,字符串的顺序存储结构给字符串的插入、删除造成不便。在字符串中插入子串
                    时,必须将插入点后的元素全部依次后移;删除字符串的一个子串时,必须将删除后的部
                    分全部前移。

                         此外,存储串的连续的存储单元一般要求先定义好最大长度,这也使得串的操作受
                    限。两个字符串连接的结果,很可能超出这个最大长度。
                         (2)串的动态存储结构。
                         用顺序存储结构来存储字符串,因为其规模在定义的时候就已定下,容易造成存储空

                    间的浪费;同时,线性表的插入和删除操作效率很低。因此,有些时候也采用动态存储方
                    式。动态存储方式包括链式存储结构和堆存储结构。

                         在串的链式存储结构中,每个结点包含字符域和结点链接指针域,字符域存放字符,
                    指针域存放指向下一结点的指针,如图3-7所示。因此,串可用单链表表示。






                                                       图3-7 串的链式存储结构

                         字符串的各种运算和串的存储结构有很大的关系,存储结构不同,其运算和操作也会

                    有所不同。
                         在各种事务管理系统中,可以通过字符串的操作来实现对事物的自动化管理。例如,
                    对于超市中商品信息的查询,可以通过商品条形码来获得商品的详细信息,也可以通过提

                    取商品条形码中的某个子串来实现同类商品的比价功能。



                         实 践

                         为了优化系统,提高查询效率,拟升级菜谱自助查询系统的功能:除了通过食材名称

                    获取菜谱,还可以直接选择某一类别食材的全部菜谱清单供顾客选择。优化升级的主要目
                    的在于提供对“类别”的查询响应。因此,对数据结构进行以下改造:


                                                                                                                    67 67







          21X2204.indd   67                                                                                        2019/9/26   13:53:16
   70   71   72   73   74   75   76   77   78   79   80