数据结构-严蔚敏《串比较(compare)与字符定位(index)》

需积分: 0 0 下载量 57 浏览量 更新于2024-08-19 收藏 702KB PPT 举报
"串比较(compare),字符定位(index),数据结构,数据,逻辑结构,物理结构,算法,算法效率,电话号码查询系统,图书馆书目检索系统,教师资料档案管理系统,多叉路口交通灯管理问题" 在计算机科学中,数据结构是研究如何组织和存储数据以便高效地访问和操作的关键领域。在给定的描述中,提到了两个关键的字符串操作函数,`strcmp` 和 `strchr`,这两个函数是C语言标准库中的字符串处理函数。 1. **串比较 (compare) - strcmp()** `strcmp()` 函数用于比较两个字符串`s1`和`s2`。根据返回值,我们可以判断这两个字符串之间的关系。如果`s1`小于`s2`,函数返回一个小于0的值;如果`s1`等于`s2`,返回0;如果`s1`大于`s2`,返回一个大于0的值。这个函数在需要对字符串进行排序或者比较时非常有用。例如,在提供的示例中,`strcmp("baker", "Baker")` 返回一个正数,表明 `"baker"` 在字母顺序上位于 `"Baker"` 之后。 2. **字符定位 (index) - strchr()** `strchr()` 函数用于查找字符`c`在字符串`s`中的首次出现位置。如果找到了,它返回指向该字符的指针,否则返回`NULL`。在例子中,`p=strchr(s2, '.')` 将找到字符串`s2`中`.`的位置,如果找到,可以使用`strcpy()`函数将新的子串附加到`.`后面,就像`s2`被更新为`"file.cpp"`那样。 数据结构不仅包括字符串,还涵盖了各种抽象数据类型,如数组、链表、树、图等。数据的**逻辑结构**是指数据在程序中的逻辑关系,而**物理结构**是指数据在内存或磁盘上的实际存储方式。两者都影响算法的选择和效率。 例如,电话号码查询系统中的数据可以使用数组、表或向量来存储,不同的数据结构会影响查找电话号码的算法效率。图书馆的书目检索系统可能使用哈希表或B树来快速查找书籍信息,教师资料档案管理系统可能采用数据库来组织和检索数据,而多叉路口交通灯管理问题可能涉及到图的数据结构来表示路口和信号灯之间的关系。 **算法**是解决问题的具体步骤,它的设计要考虑数据结构和效率。例如,简单的线性搜索在大数据集上可能效率低下,而二分查找或哈希映射等更高效的数据结构和算法则能显著提升性能。因此,理解和选择合适的数据结构是编写高效代码的关键。