设计一个C++链表类,它能将数字存入链表中,并且可以输出数字的绝对值
时间: 2023-08-04 12:26:41 浏览: 98
好的,这里是一个简单的C++链表类的实现,它可以将数字存入链表中,并且可以输出数字的绝对值。请注意,这个实现只是一个简单的示例,可能需要根据具体情况进行修改和扩展。
```c++
#include <iostream>
#include <cmath>
using namespace std;
class Node {
public:
int val;
Node* next;
Node(int v) : val(v), next(nullptr) {}
};
class LinkedList {
public:
LinkedList() : head(nullptr) {}
~LinkedList() {
Node* cur = head;
while (cur != nullptr) {
Node* next = cur->next;
delete cur;
cur = next;
}
}
void add(int val) {
Node* node = new Node(val);
if (head == nullptr) {
head = node;
} else {
Node* cur = head;
while (cur->next != nullptr) {
cur = cur->next;
}
cur->next = node;
}
}
void printAbs() {
Node* cur = head;
while (cur != nullptr) {
cout << abs(cur->val) << " ";
cur = cur->next;
}
cout << endl;
}
private:
Node* head;
};
int main() {
LinkedList list;
list.add(-1);
list.add(2);
list.add(-3);
list.printAbs();
return 0;
}
```
这个实现使用了两个类,一个是`Node`类,表示链表中的一个节点;另一个是`LinkedList`类,表示整个链表。`LinkedList`类有两个公共方法:`add`方法用于添加一个数字到链表中,`printAbs`方法用于输出链表中所有数字的绝对值。在`main`函数中,我们创建了一个`LinkedList`对象,并且添加了三个数字,然后调用了`printAbs`方法输出它们的绝对值。
阅读全文