数据结构对线性表的插入、删除、查找的代码
时间: 2024-12-18 12:20:09 浏览: 3
数据结构中的线性表,如数组或链表,操作主要包括插入、删除和查找。这里以单链表为例,因为它们支持动态增删:
1. **插入**(在链表末尾插入):
```c++
void insertAtEnd(int value) {
Node* newNode = new Node(value); // 创建新节点
if (head == NULL) { // 如果链表为空
head = newNode;
} else { // 否则找到尾部并插入
Node* temp = head;
while (temp->next != NULL) {
temp = temp->next;
}
temp->next = newNode;
}
}
```
2. **删除**(根据值删除节点):
```c++
void deleteNode(int value) {
if (head == NULL) return; // 空链表不做处理
if (head->data == value) { // 如果头元素就是要删除的
Node* temp = head;
head = head->next;
delete temp;
return;
}
Node* prev = head;
Node* current = head->next;
while (current != NULL && current->data != value) {
prev = current;
current = current->next;
}
if (current == NULL) return; // 没找到要删除的节点
prev->next = current->next;
delete current;
}
```
3. **查找**(寻找指定值的节点):
```c++
Node* search(int value) {
Node* temp = head;
while (temp != NULL) {
if (temp->data == value) {
return temp;
}
temp = temp->next;
}
return NULL; // 没找到对应值
}
```
以上代码假设`Node`是一个简单的结构体或类,包含`data`用于存储值,以及`next`指向下一个节点的指针。
阅读全文