单链表基础操作:构造一个带头结点的单链表。其每个结点中记录着一个字符型的键值key(设键值唯一)。编写函数
时间: 2024-10-10 09:05:04 浏览: 28
数据结构课程设计-图书管理系统.pdf
在C++中,构建一个带头节点的单链表用于存储字符型的键值,你可以按照以下步骤创建结构体、头节点和相应的操作:
首先,定义一个`Node`结构体,包含一个字符类型的`key`以及指向下一个节点的指针:
```cpp
struct Node {
char key;
Node* next; // 指向下一个节点
};
```
然后,创建一个头节点`head`:
```cpp
Node* head = nullptr; // 初始化头节点为nullptr
```
接下来,可以编写一些基本操作,如:
1. **插入元素**:
- `void insert(char value)`:
```cpp
void insert(char value) {
Node* newNode = new Node();
newNode->key = value;
newNode->next = head;
head = newNode;
}
```
2. **查找元素**:
- `bool search(char key)`:
```cpp
bool search(char key) {
Node* current = head;
while (current != nullptr && current->key != key) {
current = current->next;
}
return current != nullptr;
}
```
3. **删除元素**:
- `void remove(char key)`:
```cpp
void remove(char key) {
if (head == nullptr || head->key != key) return;
Node* temp = head;
head = head->next;
delete temp;
}
```
4. **打印链表**:
- `void printList()`:
```cpp
void printList() {
Node* current = head;
while (current != nullptr) {
std::cout << current->key << " ";
current = current->next;
}
std::cout << "\n";
}
```
记得在使用完链表后释放内存,防止内存泄漏。
阅读全文