用c++写一个class 删除链表的第N个节点,并且用智能指针写
时间: 2023-03-08 20:58:52 浏览: 93
用C++编程实现链表删除某结点
5星 · 资源好评率100%
#include <iostream> class Node {
public:
int data;
std::shared_ptr<Node> next;
}; class LinkedList {
public:
LinkedList() {
head = nullptr;
}
void deleteNode(int n)
{
std::shared_ptr<Node> temp = head, prev;
if (n == 1) {
head = temp->next;
free(temp);
return;
}
for (int i=0; temp!=nullptr && i<n-1; i++) {
prev = temp;
temp = temp->next;
}
if (temp == nullptr)
return;
prev->next = temp->next;
free(temp);
}
private:
std::shared_ptr<Node> head;
}; int main() {
return 0;
}答复:这是一段C ++代码,用于删除链表中的第N个节点,并使用智能指针来实现。
阅读全文