串的定义
串处理的数据元素只能是字符,是由零个或多个字符串组成的有序序列,又名叫字符串。
串的存储结构
串中元素逻辑关系和线性表的相同,串也分为顺序存储结构和链式存储结构。
串的顺序存储结构
顺序存储结构就是数据元素的逻辑关系直接映射到物理位置,用物理位置的先后表示逻辑先后。
顺序存储结构的实现
串的顺序存储可以用数组实现:
typedef struct Node
{
char ch[SIZE];//必须为字符类型的数组
int len;//串的当前长度
}
串的链式存储结构
串的链式存储结构可以表示数据元素之间的关系,链式存储除了数据域以外,还有一个指针域,指向下一个数据。
但是串的存储密度较低。实际分配的存储占内存较多,因此我们可以把多个字符存放在一个结点中。
串的链式存储结构的实现
#define size 10//存放多个字符
typedef struct Node
{
char ch[size];
struct Node *next;//指向下一个字符串块
}