编写一个单链表的类模板Link,并实现其主要操作 Delete 和 Insert.有完整程序,用C++
时间: 2024-01-21 18:20:01 浏览: 28
以下是单链表类模板Link的实现,包括Delete和Insert操作:
```c++
template <typename T>
class Node{
public:
T data;
Node* next;
Node(T d){
data = d;
next = nullptr;
}
};
template <typename T>
class Link{
private:
Node<T>* head;
public:
Link(){
head = nullptr;
}
~Link(){
while(head != nullptr){
Node<T>* temp = head;
head = head->next;
delete temp;
}
}
void Insert(T d){
Node<T>* newNode = new Node<T>(d);
if(head == nullptr){
head = newNode;
}else{
Node<T>* temp = head;
while(temp->next != nullptr){
temp = temp->next;
}
temp->next = newNode;
}
}
void Delete(T d){
Node<T>* temp = head;
Node<T>* prev = nullptr;
while(temp != nullptr && temp->data != d){
prev = temp;
temp = temp->next;
}
if(temp == nullptr){
return;
}
if(prev == nullptr){
head = temp->next;
}else{
prev->next = temp->next;
}
delete temp;
}
};
```
在这个类模板中,我们使用了一个Node类来表示每个节点,并使用next指针来指向链表中的下一个节点。Insert操作用于将一个新节点插入到链表的末尾,Delete操作用于从链表中删除一个特定的节点。