数据结构-严蔚敏PPT:串比较与字符定位

需积分: 49 61 下载量 75 浏览量 更新于2024-08-23 收藏 705KB PPT 举报
"串比较(compare),字符定位(index),严蔚敏,清华大学,课件,PPT" 在计算机科学中,数据结构是研究数据的组织方式、存储形式和它们之间的关系的重要领域。严蔚敏教授的清华大学数据结构课程是深入理解这一主题的经典教材。本节主要涉及两个关键知识点:串的比较和字符定位。 首先,我们讨论串比较(compare)。在C语言中,`strcmp()`函数用于比较两个字符串的大小。这个函数接受两个字符串参数`s1`和`s2`,并按照字典顺序比较它们。如果`s1`小于`s2`,`strcmp()`返回一个小于0的值;如果`s1`等于`s2`,则返回0;如果`s1`大于`s2`,则返回一个大于0的值。例如,"baker"与"Baker"比较时,由于"B"在字典顺序上小于"b",所以`strcmp("baker", "Baker")`的结果会大于0。同样,"12"与"12"比较时,结果为0,表明两者相等;而"Joe"与"Joseph"比较时,结果小于0,表示"Joe"在字典顺序上位于"Joseph"之前。 接下来是字符定位(index),在C语言中,`strchr()`函数用于查找字符串`s`中首次出现特定字符`c`的位置。如果找到,它会返回指向该字符的指针;否则,返回`NULL`。例如,如果`s2`为"file.txt",我们可以用`strchr(s2, '.')`找到"."的位置,返回的指针会指向"file"之后,即"txt"之前。如果找到了这个字符,我们可以进一步使用`strcpy()`函数复制新的字符串部分,比如将".txt"替换为".cpp",从而改变`s2`的值,使其变为"file.cpp"。 在数据结构的学习中,了解如何有效地处理和比较字符串是非常基础且实用的技能。这不仅在实现简单的文本操作时有用,也是许多复杂算法和数据结构(如字符串搜索、排序、哈希表等)的基础。此外,`strcmp()`和`strchr()`这两个函数在实际编程中经常被用到,特别是在文件处理、文本解析和字符串操作的场景下。 在数据结构的其他章节中,还会深入探讨诸如数组、链表、树、图等各种数据结构,以及与之相关的操作和算法,如查找、排序等。这些知识对于编写高效、可维护的代码至关重要,也是软件工程中的核心技能。通过严蔚敏教授的课程,学习者可以系统地掌握这些概念,并提升解决实际问题的能力。