构造链串结构并初始化链串;
时间: 2023-07-11 12:08:05 浏览: 75
链串是一种基于链表的数据结构,用来表示字符串。在构造链串结构之前,我们需要先定义链串的节点结构。
```c++
struct Node {
char data;
Node *next;
};
```
上述结构体表示一个链串的节点,其中 `data` 表示节点存储的字符,`next` 表示指向下一个节点的指针。
接下来,我们可以定义链串的结构体,并初始化链串。
```c++
struct String {
Node *head;
Node *tail;
int length;
String() {
head = new Node();
tail = head;
length = 0;
}
void append(char c) {
Node *newNode = new Node();
newNode->data = c;
tail->next = newNode;
tail = newNode;
length++;
}
};
```
上述结构体表示一个链串,其中 `head` 表示链串的头节点,`tail` 表示链串的尾节点,`length` 表示链串的长度。在链串初始化的时候,我们创建一个头节点,并将 `head` 和 `tail` 指向它。在链串末尾添加字符时,我们创建一个新的节点,将其接到链表的尾部,并将 `tail` 指向新的尾节点。
使用如下代码可以创建一个链串并初始化:
```c++
String s;
s.append('H');
s.append('e');
s.append('l');
s.append('l');
s.append('o');
```
这个链串表示字符串 "Hello"。
阅读全文