字符串与数组(数据结构与算法)
串的定义:串是字符串的简称。在数据结构中,串是一种在数据元素的组成上具有一定约束条件的线性表(看数据结构与算法),即要求组成线性表的所有数据元素都是字符,所以说串是一个有无穷的字符串序列。串是有零个多个字符组成的有序列。每个字符可以是字母、数据或者任何其它的符合。零个字符的串(即:””)称为空串,空串不包括任何字符。注意:
一、 长度为1的空格串” ”不等同于空串””,
二、 值为单个字符的字符串不等同于单个字符,如:”a”与’ a’;
三、 串值不包括双撇号,双撇号是串的定界符。
串中任意个连续的字符组成的子序列称为该字符串的子串。包含子串的串则称为主串。通常将字符在串中的序号称为该字符在串中的位置。子串在主串钟的位置则以该子串在主串中的第一个字符位置来表示。举例:
串的基本算法在串的应用中广泛使用,这些基本算法不仅加深了对串的理解,更简化了日后对串的使用。不过根据我个人的理解还是感觉相关与字符串的知识有点难懂。
串的抽象数据类型 :串的数据集合可以表示为字符序列s0,s1,……,sn-1,每个数据元素的数据类型为字符类型。
串与线性表相比较,相同之处:都是线性结构,不同之处:线性表的数据元素类型为任意类型;而串的数据元素类型为字符类型、线性表的插入和删除操作都是只对一个数据元素;而串的插入和删除操作都是对一个子串进行的、串还有一些不同于线性表的其他操作。
字符串还可以实现串的线性存储结构和基本运算,串的线性存储代码如下:
串的长度如下:
Length函数可以方便地求出串的长度.
判断两个串是否相等如图:
还有好多好多我就不一一说了。
数组,所谓的数组就是有序的元素序列,存放在每个格中的内容(值)。数组有一维数组 、二维数组、三维数组、四维数组、五维数组。以下的例子就是一维数组:
数组有一维数组 、二维数组也就是我们说的行、列,是一维数组的每个元素都是一维数组
二维数组也就是我们说的行、列,是一维数组的每个元素都是一维数组 图下就是二维数组跟三维数组
四维数组跟五维数组如下: